<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>jsrsasign JavaScript API Reference - X509</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
&nbsp; <b><a href="https://kjur.github.io/jsrsasign/" style="color: white">jsrsasign</a></b> JavaScript API Reference
</div>

		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><i><a href="../symbols/global__.html">global__</a></i></li>
	
	<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
	
	<li><a href="../symbols/Base64x.html">Base64x</a></li>
	
	<li><a href="../symbols/KEYUTIL.html">KEYUTIL</a></li>
	
	<li><a href="../symbols/KJUR.html">KJUR</a></li>
	
	<li><a href="../symbols/KJUR.asn1.html">KJUR.asn1</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ASN1Object.html">KJUR.asn1.ASN1Object</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ASN1Util.html">KJUR.asn1.ASN1Util</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.html">KJUR.asn1.cades</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.CAdESUtil.html">KJUR.asn1.cades.CAdESUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.CompleteCertificateRefs.html">KJUR.asn1.cades.CompleteCertificateRefs</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherCertID.html">KJUR.asn1.cades.OtherCertID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherHash.html">KJUR.asn1.cades.OtherHash</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherHashAlgAndValue.html">KJUR.asn1.cades.OtherHashAlgAndValue</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.OtherHashValue.html">KJUR.asn1.cades.OtherHashValue</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.SignaturePolicyId.html">KJUR.asn1.cades.SignaturePolicyId</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.SignaturePolicyIdentifier.html">KJUR.asn1.cades.SignaturePolicyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cades.SignatureTimeStamp.html">KJUR.asn1.cades.SignatureTimeStamp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.html">KJUR.asn1.cms</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.Attribute.html">KJUR.asn1.cms.Attribute</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.AttributeList.html">KJUR.asn1.cms.AttributeList</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.CertificateSet.html">KJUR.asn1.cms.CertificateSet</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.CMSParser.html">KJUR.asn1.cms.CMSParser</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.CMSUtil.html">KJUR.asn1.cms.CMSUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ContentInfo.html">KJUR.asn1.cms.ContentInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ContentType.html">KJUR.asn1.cms.ContentType</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.EncapsulatedContentInfo.html">KJUR.asn1.cms.EncapsulatedContentInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ESSCertID.html">KJUR.asn1.cms.ESSCertID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.ESSCertIDv2.html">KJUR.asn1.cms.ESSCertIDv2</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.IssuerAndSerialNumber.html">KJUR.asn1.cms.IssuerAndSerialNumber</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.IssuerSerial.html">KJUR.asn1.cms.IssuerSerial</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.MessageDigest.html">KJUR.asn1.cms.MessageDigest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.OtherRevocationFormat.html">KJUR.asn1.cms.OtherRevocationFormat</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.RevocationInfoChoice.html">KJUR.asn1.cms.RevocationInfoChoice</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.RevocationInfoChoices.html">KJUR.asn1.cms.RevocationInfoChoices</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SignedData.html">KJUR.asn1.cms.SignedData</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SignerIdentifier.html">KJUR.asn1.cms.SignerIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SignerInfo.html">KJUR.asn1.cms.SignerInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SigningCertificate.html">KJUR.asn1.cms.SigningCertificate</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SigningCertificateV2.html">KJUR.asn1.cms.SigningCertificateV2</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SigningTime.html">KJUR.asn1.cms.SigningTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.cms.SubjectKeyIdentifier.html">KJUR.asn1.cms.SubjectKeyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.html">KJUR.asn1.csr</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.CertificationRequest.html">KJUR.asn1.csr.CertificationRequest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.CertificationRequestInfo.html">KJUR.asn1.csr.CertificationRequestInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.csr.CSRUtil.html">KJUR.asn1.csr.CSRUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERAbstractString.html">KJUR.asn1.DERAbstractString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERAbstractStructured.html">KJUR.asn1.DERAbstractStructured</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERAbstractTime.html">KJUR.asn1.DERAbstractTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERBitString.html">KJUR.asn1.DERBitString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERBMPString.html">KJUR.asn1.DERBMPString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERBoolean.html">KJUR.asn1.DERBoolean</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DEREnumerated.html">KJUR.asn1.DEREnumerated</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERGeneralizedTime.html">KJUR.asn1.DERGeneralizedTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERIA5String.html">KJUR.asn1.DERIA5String</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERInteger.html">KJUR.asn1.DERInteger</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERNull.html">KJUR.asn1.DERNull</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERNumericString.html">KJUR.asn1.DERNumericString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERObjectIdentifier.html">KJUR.asn1.DERObjectIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DEROctetString.html">KJUR.asn1.DEROctetString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERPrintableString.html">KJUR.asn1.DERPrintableString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERSequence.html">KJUR.asn1.DERSequence</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERSet.html">KJUR.asn1.DERSet</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERTaggedObject.html">KJUR.asn1.DERTaggedObject</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERTeletexString.html">KJUR.asn1.DERTeletexString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERUTCTime.html">KJUR.asn1.DERUTCTime</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERUTF8String.html">KJUR.asn1.DERUTF8String</a></li>
	
	<li><a href="../symbols/KJUR.asn1.DERVisibleString.html">KJUR.asn1.DERVisibleString</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.html">KJUR.asn1.ocsp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.BasicOCSPResponse.html">KJUR.asn1.ocsp.BasicOCSPResponse</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.CertID.html">KJUR.asn1.ocsp.CertID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.CertStatus.html">KJUR.asn1.ocsp.CertStatus</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPParser.html">KJUR.asn1.ocsp.OCSPParser</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPRequest.html">KJUR.asn1.ocsp.OCSPRequest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPResponse.html">KJUR.asn1.ocsp.OCSPResponse</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.OCSPUtil.html">KJUR.asn1.ocsp.OCSPUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.Request.html">KJUR.asn1.ocsp.Request</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.ResponderID.html">KJUR.asn1.ocsp.ResponderID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.ResponseBytes.html">KJUR.asn1.ocsp.ResponseBytes</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.ResponseData.html">KJUR.asn1.ocsp.ResponseData</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.SingleResponse.html">KJUR.asn1.ocsp.SingleResponse</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.SingleResponseList.html">KJUR.asn1.ocsp.SingleResponseList</a></li>
	
	<li><a href="../symbols/KJUR.asn1.ocsp.TBSRequest.html">KJUR.asn1.ocsp.TBSRequest</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.html">KJUR.asn1.tsp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.AbstractTSAAdapter.html">KJUR.asn1.tsp.AbstractTSAAdapter</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.Accuracy.html">KJUR.asn1.tsp.Accuracy</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.FixedTSAAdapter.html">KJUR.asn1.tsp.FixedTSAAdapter</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.MessageImprint.html">KJUR.asn1.tsp.MessageImprint</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIFailureInfo.html">KJUR.asn1.tsp.PKIFailureInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIFreeText.html">KJUR.asn1.tsp.PKIFreeText</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIStatus.html">KJUR.asn1.tsp.PKIStatus</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.PKIStatusInfo.html">KJUR.asn1.tsp.PKIStatusInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.SimpleTSAAdapter.html">KJUR.asn1.tsp.SimpleTSAAdapter</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TimeStampReq.html">KJUR.asn1.tsp.TimeStampReq</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TimeStampResp.html">KJUR.asn1.tsp.TimeStampResp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TimeStampToken.html">KJUR.asn1.tsp.TimeStampToken</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TSPParser.html">KJUR.asn1.tsp.TSPParser</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TSPUtil.html">KJUR.asn1.tsp.TSPUtil</a></li>
	
	<li><a href="../symbols/KJUR.asn1.tsp.TSTInfo.html">KJUR.asn1.tsp.TSTInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.html">KJUR.asn1.x509</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AdobeTimeStamp.html">KJUR.asn1.x509.AdobeTimeStamp</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AlgorithmIdentifier.html">KJUR.asn1.x509.AlgorithmIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AttributeTypeAndValue.html">KJUR.asn1.x509.AttributeTypeAndValue</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.AuthorityKeyIdentifier.html">KJUR.asn1.x509.AuthorityKeyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.BasicConstraints.html">KJUR.asn1.x509.BasicConstraints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Certificate.html">KJUR.asn1.x509.Certificate</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CertificatePolicies.html">KJUR.asn1.x509.CertificatePolicies</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRL.html">KJUR.asn1.x509.CRL</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLEntry.html">KJUR.asn1.x509.CRLEntry</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLNumber.html">KJUR.asn1.x509.CRLNumber</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.CRLReason.html">KJUR.asn1.x509.CRLReason</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.DistributionPoint.html">KJUR.asn1.x509.DistributionPoint</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.DistributionPointName.html">KJUR.asn1.x509.DistributionPointName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Extension.html">KJUR.asn1.x509.Extension</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Extensions.html">KJUR.asn1.x509.Extensions</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.ExtKeyUsage.html">KJUR.asn1.x509.ExtKeyUsage</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.InhibitAnyPolicy.html">KJUR.asn1.x509.InhibitAnyPolicy</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.KeyUsage.html">KJUR.asn1.x509.KeyUsage</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.NameConstraints.html">KJUR.asn1.x509.NameConstraints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.NoticeReference.html">KJUR.asn1.x509.NoticeReference</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OCSPNoCheck.html">KJUR.asn1.x509.OCSPNoCheck</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OCSPNonce.html">KJUR.asn1.x509.OCSPNonce</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OID.html">KJUR.asn1.x509.OID</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.OtherName.html">KJUR.asn1.x509.OtherName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyConstraints.html">KJUR.asn1.x509.PolicyConstraints</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyInformation.html">KJUR.asn1.x509.PolicyInformation</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyMappings.html">KJUR.asn1.x509.PolicyMappings</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PolicyQualifierInfo.html">KJUR.asn1.x509.PolicyQualifierInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.PrivateExtension.html">KJUR.asn1.x509.PrivateExtension</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.RDN.html">KJUR.asn1.x509.RDN</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectDirectoryAttributes.html">KJUR.asn1.x509.SubjectDirectoryAttributes</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectKeyIdentifier.html">KJUR.asn1.x509.SubjectKeyIdentifier</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.SubjectPublicKeyInfo.html">KJUR.asn1.x509.SubjectPublicKeyInfo</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.TBSCertificate.html">KJUR.asn1.x509.TBSCertificate</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.TBSCertList.html">KJUR.asn1.x509.TBSCertList</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.Time.html">KJUR.asn1.x509.Time</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.UserNotice.html">KJUR.asn1.x509.UserNotice</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.X500Name.html">KJUR.asn1.x509.X500Name</a></li>
	
	<li><a href="../symbols/KJUR.asn1.x509.X509Util.html">KJUR.asn1.x509.X509Util</a></li>
	
	<li><a href="../symbols/KJUR.crypto.html">KJUR.crypto</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Cipher.html">KJUR.crypto.Cipher</a></li>
	
	<li><a href="../symbols/KJUR.crypto.DSA.html">KJUR.crypto.DSA</a></li>
	
	<li><a href="../symbols/KJUR.crypto.ECDSA.html">KJUR.crypto.ECDSA</a></li>
	
	<li><a href="../symbols/KJUR.crypto.ECParameterDB.html">KJUR.crypto.ECParameterDB</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Mac.html">KJUR.crypto.Mac</a></li>
	
	<li><a href="../symbols/KJUR.crypto.MessageDigest.html">KJUR.crypto.MessageDigest</a></li>
	
	<li><a href="../symbols/KJUR.crypto.OID.html">KJUR.crypto.OID</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Signature.html">KJUR.crypto.Signature</a></li>
	
	<li><a href="../symbols/KJUR.crypto.Util.html">KJUR.crypto.Util</a></li>
	
	<li><a href="../symbols/KJUR.jws.html">KJUR.jws</a></li>
	
	<li><a href="../symbols/KJUR.jws.IntDate.html">KJUR.jws.IntDate</a></li>
	
	<li><a href="../symbols/KJUR.jws.JWS.html">KJUR.jws.JWS</a></li>
	
	<li><a href="../symbols/KJUR.jws.JWSJS.html">KJUR.jws.JWSJS</a></li>
	
	<li><a href="../symbols/KJUR.lang.String.html">KJUR.lang.String</a></li>
	
	<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
	
	<li><a href="../symbols/X509.html">X509</a></li>
	
	<li><a href="../symbols/X509CRL.html">X509CRL</a></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Class X509
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				<br />Version
					1.0.1 (08 May 2012).<br />
				
				
			
				hexadecimal X.509 certificate ASN.1 parser class
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/x509-1.1.js.html">x509-1.1.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class X509.">
				<caption>Class Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/X509.html#constructor">X509</a></b>(params)
							</div>
							<div class="description">hexadecimal X.509 certificate ASN.1 parser class.</div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class X509.">
					<caption>Field Summary</caption>
					<thead>
						<tr>
							<th scope="col">Field Attributes</th>
							<th scope="col">Field Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								<b><a href="../symbols/X509.html#aExtInfo">aExtInfo</a></b>
								</div>
								<div class="description">(DEPRECATED) array of parameters for extensions</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								X509.<b><a href="../symbols/X509.html#.EXT_PARSER">EXT_PARSER</a></b>
								</div>
								<div class="description">additional definition for X.509 extension parsers<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								<b><a href="../symbols/X509.html#getOtherName">getOtherName</a></b>
								</div>
								<div class="description">getOtherName ASN.1 structure parameter as JSON object<br/>
This method will get OtherName parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.6">
RFC 5280 4.2.1.6</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								<b><a href="../symbols/X509.html#hex">hex</a></b>
								</div>
								<div class="description">hexacedimal string for X.509 certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								<b><a href="../symbols/X509.html#version">version</a></b>
								</div>
								<div class="description">format version (1: X509v1, 3: X509v3, otherwise: unknown) since jsrsasign 7.1.4</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class X509.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#asn1ToDisplayText">asn1ToDisplayText</a></b>(pASN1)
								</div>
								<div class="description">convert ASN1Object parameter to DisplayText parameter
This method converts from KJUR.asn1.ASN1Util#newObject paramter to
<a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a> paramter
for <a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
DisplayText</a> ASN.1 structure.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#c14nRDNArray">c14nRDNArray</a></b>(aRDN)
								</div>
								<div class="description">simple canonicalization(c14n) for RDN array<br/>
This method canonicalizes a DN string according to
<a href="https://datatracker.ietf.org/doc/html/rfc4518#appendix-B">
"RFC 4518 StringPrep Appendix B Substring Matching"</a> as following:
<ul>
<li>convert to lower case</li>
<li>convert from all sequence of spaces to a space</li>
<li>remove leading and trailing spaces</li>
</ul></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#dnarraytostr">dnarraytostr</a></b>(aDN)
								</div>
								<div class="description">convert array for X500 distinguish name to distinguish name string<br/>
This method converts from an array representation of 
X.500 distinguished name to X.500 name string.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#findExt">findExt</a></b>(aExt, extname)
								</div>
								<div class="description">find extension parameter in array<br/>
This method returns an extension parameter for
specified extension name in the array.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getAlgorithmIdentifierName">getAlgorithmIdentifierName</a></b>(hTLV)
								</div>
								<div class="description">get algorithm name name of AlgorithmIdentifier ASN.1 structure
This method will get a name of AlgorithmIdentifier.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getAttrTypeAndValue">getAttrTypeAndValue</a></b>(h)
								</div>
								<div class="description">get AttributeTypeAndValue ASN.1 structure parameter as JSON object<br/>
This method will get AttributeTypeAndValue parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getCriticalExtV">getCriticalExtV</a></b>(extname, hExtV, critical)
								</div>
								<div class="description">get extension value and critical flag value<br/>
This method is an utility method for all getExt* of extensions.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getDisplayText">getDisplayText</a></b>(h)
								</div>
								<div class="description">get DisplayText ASN.1 structure parameter as JSON object
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
DisplayText</a> parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getDistributionPoint">getDistributionPoint</a></b>(h)
								</div>
								<div class="description">get DistributionPoint ASN.1 structure parameter as JSON object
This method will get DistributionPoint parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getDistributionPointName">getDistributionPointName</a></b>(h)
								</div>
								<div class="description">get DistributionPointName ASN.1 structure parameter as JSON object
This method will get DistributionPointName parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtAdobeTimeStamp">getExtAdobeTimeStamp</a></b>(hExtV, critical)
								</div>
								<div class="description">parse AdobeTimeStamp extension as JSON object<br/>
This method parses
X.509v3 AdobeTimeStamp private extension value defined in the
<a href="https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSigDC/oids.html">
Adobe site</a> as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtAIAInfo">getExtAIAInfo</a></b>()
								</div>
								<div class="description">get AuthorityInfoAccess extension value in the certificate as associative array
This method will get authority info access value
as associate array which has following properties:
<ul>
<li>ocsp - array of string for OCSP responder URL</li>
<li>caissuer - array of string for caIssuer value (i.e.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtAuthorityInfoAccess">getExtAuthorityInfoAccess</a></b>(hExtV, critical)
								</div>
								<div class="description">get AuthorityInfoAccess extension value as JSON object
This method parse authorityInfoAccess extension.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtAuthorityKeyIdentifier">getExtAuthorityKeyIdentifier</a></b>(hExtV, critical)
								</div>
								<div class="description">get authorityKeyIdentifier value as JSON object in the certificate<br/>
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.1">
AuthorityKeyIdentifier extension</a> value as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtBasicConstraints">getExtBasicConstraints</a></b>(hExtV, critical)
								</div>
								<div class="description">get BasicConstraints extension value as object in the certificate
This method will get basic constraints extension value as object with following paramters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtCertificatePolicies">getExtCertificatePolicies</a></b>(hExtV, critical)
								</div>
								<div class="description">get CertificatePolicies extension value as JSON object
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.CertificatePolicies.html">KJUR.asn1.x509.CertificatePolicies</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtCRLDistributionPoints">getExtCRLDistributionPoints</a></b>(hExtV, critical)
								</div>
								<div class="description">get CRLDistributionPoints extension value as JSON object
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtCRLDistributionPointsURI">getExtCRLDistributionPointsURI</a></b>()
								</div>
								<div class="description">get array of string for fullName URIs in cRLDistributionPoints(CDP) in the certificate (DEPRECATED)
This method will get all fullName URIs of cRLDistributionPoints extension
in the certificate as array of URI string.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtCRLNumber">getExtCRLNumber</a></b>(hExtV, critical)
								</div>
								<div class="description">parse cRLNumber CRL extension as JSON object<br/>
This method parses
CRLNumber CRL extension value defined in
<a href="https://tools.ietf.org/html/rfc5280#section-5.2.3">
RFC 5280 5.2.3</a> as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtCRLReason">getExtCRLReason</a></b>(hExtV, critical)
								</div>
								<div class="description">parse cRLReason CRL entry extension as JSON object<br/>
This method parses
CRLReason CRL entry extension value defined in
<a href="https://tools.ietf.org/html/rfc5280#section-5.3.1">
RFC 5280 5.3.1</a> as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtExtKeyUsage">getExtExtKeyUsage</a></b>(hExtV, critical)
								</div>
								<div class="description">get extKeyUsage value as JSON object
This method parse extKeyUsage extension.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtExtKeyUsageName">getExtExtKeyUsageName</a></b>()
								</div>
								<div class="description">get extKeyUsage value as array of name string in the certificate(DEPRECATED)<br/>
This method will get extended key usage extension value
as array of name or OID string.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtInfo">getExtInfo</a></b>(oidOrName)
								</div>
								<div class="description">get a X.509v3 extesion information such as extension OID, criticality and value index for specified oid or name.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtInhibitAnyPolicy">getExtInhibitAnyPolicy</a></b>(hExtV, critical)
								</div>
								<div class="description">get InhibitAnyPolicy extension value as JSON object<br/>
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.InhibitAnyPolicy.html">KJUR.asn1.x509.InhibitAnyPolicy</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtIssuerAltName">getExtIssuerAltName</a></b>(hExtV, critical)
								</div>
								<div class="description">get issuerAltName value as array of string in the certificate
This method will get issuerAltName value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtKeyUsage">getExtKeyUsage</a></b>(hExtV, critical)
								</div>
								<div class="description">get KeyUsage extension value as JSON object
This method parse keyUsage extension.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtKeyUsageBin">getExtKeyUsageBin</a></b>(hExtV)
								</div>
								<div class="description">get KeyUsage extension value as binary string in the certificate<br/>
This method will get key usage extension value
as binary string such like '101'.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtKeyUsageString">getExtKeyUsageString</a></b>(hExtV)
								</div>
								<div class="description">get KeyUsage extension value as names in the certificate<br/>
This method will get key usage extension value
as comma separated string of usage names.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtNameConstraints">getExtNameConstraints</a></b>(hExtV, critical)
								</div>
								<div class="description">get NameConstraints extension value as object in the certificate<br/>
This method will get name constraints extension value as object with following paramters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtOcspNoCheck">getExtOcspNoCheck</a></b>(hExtV, critical)
								</div>
								<div class="description">parse OCSPNoCheck OCSP extension as JSON object<br/>
This method parses
OCSPNoCheck extension value defined in
<a href="https://tools.ietf.org/html/rfc6960#section-4.2.2.2.1">
RFC 6960 4.2.2.2.1</a> as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtOcspNonce">getExtOcspNonce</a></b>(hExtV, critical)
								</div>
								<div class="description">parse OCSPNonce OCSP extension as JSON object<br/>
This method parses
Nonce OCSP extension value defined in
<a href="https://tools.ietf.org/html/rfc6960#section-4.4.1">
RFC 6960 4.4.1</a> as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtParam">getExtParam</a></b>(hExt)
								</div>
								<div class="description">get a extension parameter JSON object<br/>
This method returns a extension parameters as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtParamArray">getExtParamArray</a></b>(hExtSeq)
								</div>
								<div class="description">get array of certificate extension parameter JSON object<br/>
This method returns an array of certificate extension
parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtPolicyConstraints">getExtPolicyConstraints</a></b>(hExtV, critical)
								</div>
								<div class="description">get PolicyConstraints extension value as JSON object<br/>
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.PolicyConstraints.html">KJUR.asn1.x509.PolicyConstraints</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtPolicyMappings">getExtPolicyMappings</a></b>(hExtV, critical)
								</div>
								<div class="description">get PolicyMappings extension value as JSON object<br/>
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.PolicyMappings.html">KJUR.asn1.x509.PolicyMappings</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtSubjectAltName">getExtSubjectAltName</a></b>(hExtV, critical)
								</div>
								<div class="description">get subjectAltName value as array of string in the certificate
This method will get subjectAltName value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtSubjectAltName2">getExtSubjectAltName2</a></b>()
								</div>
								<div class="description">get subjectAltName value as array of string in the certificate (DEPRECATED)
This method will get subject alt name extension value
as array of type and name.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtSubjectDirectoryAttributes">getExtSubjectDirectoryAttributes</a></b>(hExtV, critical)
								</div>
								<div class="description">parse SubjectDirectoryAttributes extension as JSON object<br/>
This method parses
SubjectDirectoryAttributes extension value defined in the
defined in <a href="https://tools.ietf.org/html/rfc3739#section-3.3.2">
RFC 3739 Qualified Certificate Profile section 3.3.2</a> as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getExtSubjectKeyIdentifier">getExtSubjectKeyIdentifier</a></b>(hExtV, critical)
								</div>
								<div class="description">get subjectKeyIdentifier value as hexadecimal string in the certificate<br/>
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.2">
SubjectKeyIdentifier extension</a> value as JSON object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getGeneralName">getGeneralName</a></b>(h)
								</div>
								<div class="description">get GeneralName ASN.1 structure parameter as JSON object<br/>
This method will get GeneralName parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.6">
RFC 5280 4.2.1.6</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getGeneralNames">getGeneralNames</a></b>(h)
								</div>
								<div class="description">get GeneralNames ASN.1 structure parameter as JSON object
This method will get GeneralNames parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.6">
RFC 5280 4.2.1.6</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getGeneralSubtree">getGeneralSubtree</a></b>(h)
								</div>
								<div class="description">get GeneralSubtree ASN.1 structure parameter as JSON object<br/>
This method will get GeneralSubtree parameters defined in
<a href="https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10">
RFC 5280 4.2.1.10</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getInfo">getInfo</a></b>()
								</div>
								<div class="description">get certificate information as string.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getIssuer">getIssuer</a></b>(flagCanon, flagHex)
								</div>
								<div class="description">get JSON object of issuer field<br/>
Get a JSON object of an issuer field.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getIssuerHex">getIssuerHex</a></b>()
								</div>
								<div class="description">get hexadecimal string of issuer field TLV of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getIssuerString">getIssuerString</a></b>()
								</div>
								<div class="description">get string of issuer field of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getNotAfter">getNotAfter</a></b>()
								</div>
								<div class="description">get notAfter field string of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getNotBefore">getNotBefore</a></b>()
								</div>
								<div class="description">get notBefore field string of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getParam">getParam</a></b>(option)
								</div>
								<div class="description">get JSON object of certificate parameters<br/>
This method returns a JSON object of the certificate
parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getPolicyInformation">getPolicyInformation</a></b>(h)
								</div>
								<div class="description">get PolicyInformation ASN.1 structure parameter as JSON object
This method will get PolicyInformation parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
RFC 5280 4.2.1.4</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getPolicyQualifierInfo">getPolicyQualifierInfo</a></b>(h)
								</div>
								<div class="description">get PolicyQualifierInfo ASN.1 structure parameter as JSON object
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
PolicyQualifierInfo</a> parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getPublicKey">getPublicKey</a></b>()
								</div>
								<div class="description">get a RSAKey/ECDSA/DSA public key object of subjectPublicKeyInfo field.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getPublicKeyContentIdx">getPublicKeyContentIdx</a></b>()
								</div>
								<div class="description">get a string index of contents of subjectPublicKeyInfo BITSTRING value from hexadecimal certificate<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.getPublicKeyFromCertHex">getPublicKeyFromCertHex</a></b>(h)
								</div>
								<div class="description">get RSA/DSA/ECDSA public key object from X.509 certificate hexadecimal string<br/></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.getPublicKeyFromCertPEM">getPublicKeyFromCertPEM</a></b>(sCertPEM)
								</div>
								<div class="description">get RSA/DSA/ECDSA public key object from PEM certificate string
NOTE: DSA is also supported since x509 1.1.2.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getPublicKeyHex">getPublicKeyHex</a></b>()
								</div>
								<div class="description">get a hexadecimal string of subjectPublicKeyInfo field.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getPublicKeyIdx">getPublicKeyIdx</a></b>()
								</div>
								<div class="description">get a string index of subjectPublicKeyInfo field for hexadecimal string certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.getPublicKeyInfoPropOfCertPEM">getPublicKeyInfoPropOfCertPEM</a></b>(sCertPEM)
								</div>
								<div class="description">get public key information from PEM certificate
Resulted associative array has following properties:<br/>
<ul>
<li>algoid - hexadecimal string of OID of asymmetric key algorithm</li>
<li>algparam - hexadecimal string of OID of ECC curve name or null</li>
<li>keyhex - hexadecimal string of key in the certificate</li>
</ul>
NOTE: X509v1 certificate is also supported since x509.js 1.1.9.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getRDN">getRDN</a></b>(h)
								</div>
								<div class="description">get RelativeDistinguishedName ASN.1 structure parameter array<br/>
This method will get RelativeDistinguishedName parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSerialNumberHex">getSerialNumberHex</a></b>()
								</div>
								<div class="description">get hexadecimal string of serialNumber field of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSignatureAlgorithmField">getSignatureAlgorithmField</a></b>()
								</div>
								<div class="description">get signature algorithm name in basic field
This method will get a name of signature algorithm in 
basic field of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSignatureAlgorithmName">getSignatureAlgorithmName</a></b>()
								</div>
								<div class="description">get signature algorithm name from hexadecimal certificate data
This method will get signature algorithm name of certificate:</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSignatureValueHex">getSignatureValueHex</a></b>()
								</div>
								<div class="description">get signature value as hexadecimal string<br/>
This method will get signature value of certificate:</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSPKI">getSPKI</a></b>()
								</div>
								<div class="description">get ASN.1 TLV hexadecimal string of subjectPublicKeyInfo field.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSPKIValue">getSPKIValue</a></b>()
								</div>
								<div class="description">get hexadecimal string of subjectPublicKey of subjectPublicKeyInfo field.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSubject">getSubject</a></b>(flagCanon, flagHex)
								</div>
								<div class="description">get JSON object of subject field<br/>
Get a JSON object of a subject field.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSubjectHex">getSubjectHex</a></b>()
								</div>
								<div class="description">get hexadecimal string of subject field of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getSubjectString">getSubjectString</a></b>()
								</div>
								<div class="description">get string of subject field of certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getUserNotice">getUserNotice</a></b>(h)
								</div>
								<div class="description">get UserNotice ASN.1 structure parameter as JSON object
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
UserNotice</a> parameters.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getVersion">getVersion</a></b>()
								</div>
								<div class="description">get format version (X.509v1 or v3 certificate)<br/>
This method returns a format version of X.509 certificate.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getX500Name">getX500Name</a></b>(h, flagCanon, flagHex)
								</div>
								<div class="description">get Name ASN.1 structure parameter array<br/>
This method will get Name parameter defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#getX500NameArray">getX500NameArray</a></b>(h)
								</div>
								<div class="description">get X.500 Name ASN.1 structure parameter array<br/>
This method will get Name parameter defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.hex2attrTypeValue">hex2attrTypeValue</a></b>(hex, idx)
								</div>
								<div class="description">get string from hexadecimal string of ASN.1 DER AttributeTypeAndValue<br/>
This static method converts from a hexadecimal string of AttributeTypeAndValue
specified by 'hex' and 'idx' to LDAP string representation (ex.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.hex2dn">hex2dn</a></b>(hex, idx)
								</div>
								<div class="description">get distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER X.500 name<br/>
This static method converts from a hexadecimal string of 
distinguished name (DN)
specified by 'hex' and 'idx' to OpenSSL oneline string representation (ex.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.hex2rdn">hex2rdn</a></b>(hex, idx)
								</div>
								<div class="description">get relative distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER RDN<br/>
This static method converts from a hexadecimal string of 
relative distinguished name (RDN)
specified by 'hex' and 'idx' to LDAP string representation (ex.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#parseExt">parseExt</a></b>(hCSR)
								</div>
								<div class="description">set array of X.509v3 and CSR extesion information such as extension OID, criticality and value index.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#readCertHex">readCertHex</a></b>(sCertHex)
								</div>
								<div class="description">read a hexadecimal string of X.509 certificate<br/>
NOTE: <a href="../symbols/X509.html#parseExt">X509#parseExt</a> will called internally since jsrsasign 7.2.0.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#readCertPEM">readCertPEM</a></b>(sCertPEM)
								</div>
								<div class="description">read PEM formatted X.509 certificate from string.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">X509.<b><a href="../symbols/X509.html#.registExtParser">registExtParser</a></b>(oid, func)
								</div>
								<div class="description">define X.509 extension parser for specified OID<br/>
<p>
This static method specifies a X.509 extension value parsing function
for specified an extension OID.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#setCanonicalizedDN">setCanonicalizedDN</a></b>(pDN)
								</div>
								<div class="description">set canonicalized DN to a DN parameter<br/>
This method canonicalizes a DN string as following:
<ul>
<li>convert to lower case</li>
<li>convert from all multiple spaces to a space</li>
</ul></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#updateAIACAIssuer">updateAIACAIssuer</a></b>(aExt, newURI)
								</div>
								<div class="description">update authorityInfoAccess caIssuer in parameter<br/>
This method updates "caIssuer" accessMethod URI of 
AuthorityInfoAccess extension
in the extension parameter array if it exists.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#updateAIAOCSP">updateAIAOCSP</a></b>(aExt, newURI)
								</div>
								<div class="description">update authorityInfoAccess ocsp in parameter<br/>
This method updates "ocsp" accessMethod URI of 
AuthorityInfoAccess extension
in the extension parameter array if it exists.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#updateCDPFullURI">updateCDPFullURI</a></b>(aExt, newURI)
								</div>
								<div class="description">update CRLDistributionPoints Full URI in parameter<br/>
This method updates Full URI of CRLDistributionPoints extension
in the extension parameter array if it exists.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/X509.html#verifySignature">verifySignature</a></b>(pubKey)
								</div>
								<div class="description">verifies signature value by public key<br/>
This method verifies signature value of hexadecimal string of 
X.509 certificate by specified public key object.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			
<!-- ============================== events summary ======================== -->
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Class Detail
				</div>
				
				<div class="fixedFont">
						<b>X509</b>(params)
				</div>
				
				<div class="description">
					hexadecimal X.509 certificate ASN.1 parser class.<br/>
X509 class provides following functionality:
<ul>
<li>parse X.509 certificate ASN.1 structure</li>
<li>get basic fields, extensions, signature algorithms and signature values</li>
<li>read PEM certificate</li>
</ul>

<ul>
<li><b>TO GET FIELDS</b>
  <ul>
  <li>serial - <a href="../symbols/X509.html#getSerialNumberHex">X509#getSerialNumberHex</a></li>
  <li>signature algorithm field - <a href="../symbols/X509.html#getSignatureAlgorithmField">X509#getSignatureAlgorithmField</a></li>
  <li>issuer - <a href="../symbols/X509.html#getIssuerHex">X509#getIssuerHex</a></li>
  <li>issuer - <a href="../symbols/X509.html#getIssuerString">X509#getIssuerString</a></li>
  <li>notBefore - <a href="../symbols/X509.html#getNotBefore">X509#getNotBefore</a></li>
  <li>notAfter - <a href="../symbols/X509.html#getNotAfter">X509#getNotAfter</a></li>
  <li>subject - <a href="../symbols/X509.html#getSubjectHex">X509#getSubjectHex</a></li>
  <li>subject - <a href="../symbols/X509.html#getSubjectString">X509#getSubjectString</a></li>
  <li>subjectPublicKeyInfo - <a href="../symbols/X509.html#getPublicKey">X509#getPublicKey</a></li>
  <li>subjectPublicKeyInfo - <a href="../symbols/X509.html#getPublicKeyHex">X509#getPublicKeyHex</a></li>
  <li>subjectPublicKeyInfo - <a href="../symbols/X509.html#getPublicKeyIdx">X509#getPublicKeyIdx</a></li>
  <li>subjectPublicKeyInfo - <a href="../symbols/X509.html#.getPublicKeyFromCertPEM">X509.getPublicKeyFromCertPEM</a></li>
  <li>subjectPublicKeyInfo - <a href="../symbols/X509.html#.getPublicKeyFromCertHex">X509.getPublicKeyFromCertHex</a></li>
  <li>subjectPublicKeyInfo - <a href="../symbols/X509.html#getPublicKeyContentIdx">X509#getPublicKeyContentIdx</a></li>
  <li>signature algorithm - <a href="../symbols/X509.html#getSignatureAlgorithmName">X509#getSignatureAlgorithmName</a></li>
  <li>signature value - <a href="../symbols/X509.html#getSignatureValueHex">X509#getSignatureValueHex</a></li>
  </ul>
</li>
<li><b>X509 METHODS TO GET EXTENSIONS</b>
  <ul>
  <li>authorityKeyIdentifier - <a href="../symbols/X509.html#getExtAuthorityKeyIdentifier">X509#getExtAuthorityKeyIdentifier</a></li>
  <li>subjectKeyIdentifier - <a href="../symbols/X509.html#getExtSubjectKeyIdentifier">X509#getExtSubjectKeyIdentifier</a></li>
  <li>keyUsage - <a href="../symbols/X509.html#getExtKeyUsage">X509#getExtKeyUsage</a></li>
  <li>keyUsage - <a href="../symbols/X509.html#getExtKeyUsageBin">X509#getExtKeyUsageBin</a></li>
  <li>keyUsage - <a href="../symbols/X509.html#getExtKeyUsageString">X509#getExtKeyUsageString</a></li>
  <li>certificatePolicies - <a href="../symbols/X509.html#getExtCertificatePolicies">X509#getExtCertificatePolicies</a></li>
  <li>policyMappings - <a href="../symbols/X509.html#getExtPolicyMappings">X509#getExtPolicyMappings</a></li>
  <li>policyConstraints - <a href="../symbols/X509.html#getExtPolicyConstraints">X509#getExtPolicyConstraints</a></li>
  <li>inhibitAnyPolicy - <a href="../symbols/X509.html#getExtInhibitAnyPolicy">X509#getExtInhibitAnyPolicy</a></li>
  <li>subjectAltName - <a href="../symbols/X509.html#getExtSubjectAltName">X509#getExtSubjectAltName</a></li>
  <li>subjectAltName2 - <a href="../symbols/X509.html#getExtSubjectAltName2">X509#getExtSubjectAltName2</a> (DEPRECATED)</li>
  <li>issuerAltName - <a href="../symbols/X509.html#getExtIssuerAltName">X509#getExtIssuerAltName</a></li>
  <li>basicConstraints - <a href="../symbols/X509.html#getExtBasicConstraints">X509#getExtBasicConstraints</a></li>
  <li>nameConstraints - <a href="../symbols/X509.html#getExtNameConstraints">X509#getExtNameConstraints</a></li>
  <li>extKeyUsage - <a href="../symbols/X509.html#getExtExtKeyUsage">X509#getExtExtKeyUsage</a></li>
  <li>extKeyUsage - <a href="../symbols/X509.html#getExtExtKeyUsageName">X509#getExtExtKeyUsageName</a> (DEPRECATED)</li>
  <li>cRLDistributionPoints - <a href="../symbols/X509.html#getExtCRLDistributionPoints">X509#getExtCRLDistributionPoints</a></li>
  <li>cRLDistributionPoints - <a href="../symbols/X509.html#getExtCRLDistributionPointsURI">X509#getExtCRLDistributionPointsURI</a> (DEPRECATED)</li>
  <li>authorityInfoAccess - <a href="../symbols/X509.html#getExtAuthorityInfoAccess">X509#getExtAuthorityInfoAccess</a></li>
  <li>authorityInfoAccess - <a href="../symbols/X509.html#getExtAIAInfo">X509#getExtAIAInfo</a> (DEPRECATED)</li>
  <li>cRLNumber - <a href="../symbols/X509.html#getExtCRLNumber">X509#getExtCRLNumber</a></li>
  <li>cRLReason - <a href="../symbols/X509.html#getExtCRLReason">X509#getExtCRLReason</a></li>
  <li>ocspNonce - <a href="../symbols/X509.html#getExtOcspNonce">X509#getExtOcspNonce</a></li>
  <li>ocspNoCheck - <a href="../symbols/X509.html#getExtOcspNoCheck">X509#getExtOcspNoCheck</a></li>
  <li>adobeTimeStamp - <a href="../symbols/X509.html#getExtAdobeTimeStamp">X509#getExtAdobeTimeStamp</a></li>
  </ul>
</li>
<li><b>UTILITIES</b>
  <ul>
  <li>reading PEM X.509 certificate - <a href="../symbols/X509.html#readCertPEM">X509#readCertPEM</a></li>
  <li>reading hexadecimal string of X.509 certificate - <a href="../symbols/X509.html#readCertHex">X509#readCertHex</a></li>
  <li>get all certificate information - <a href="../symbols/X509.html#getInfo">X509#getInfo</a></li>
  <li>get specified extension information - <a href="../symbols/X509.html#getExtInfo">X509#getExtInfo</a></li>
  <li>verify signature value - <a href="../symbols/X509.html#verifySignature">X509#verifySignature</a></li>
  <li>utility for extensions - <a href="../symbols/X509.html#getCriticalExtV">X509#getCriticalExtV</a></li>
  </ul>
</li>
</ul>
					<br /><i>Author: </i>Kenji Urushima.
				</div>
				
				
				
				
					
						<dl class="detailList">
						<dt class="heading">Parameters:</dt>
						
							<dt>
								 <b>params</b>
								
							</dt>
								<dd></dd>
						
						</dl>
					
					
					
					
					
					
					
						<dl class="detailList">
						<dt class="heading">See:</dt>
						
							<dd><a href="https://kjur.github.io/jsrsasigns/">'jsrsasign'(RSA Sign JavaScript Library) home page https://kjur.github.io/jsrsasign/</a></dd>
						
						</dl>
					

			</div>
			

<!-- ============================== field details ========================== -->		
			
				<div class="sectionTitle">
					Field Detail
				</div>
				
					<a name="aExtInfo"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>aExtInfo</b>
					
					</div>
					<div class="description">
						(DEPRECATED) array of parameters for extensions
						
						
					</div>
					
					

						
						
						
						

					<hr />
				
					<a name=".EXT_PARSER"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">X509.</span><b>EXT_PARSER</b>
					
					</div>
					<div class="description">
						additional definition for X.509 extension parsers<br/>
						
						
					</div>
					
					

						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
							<dd><a href="../symbols/X509.html#.registExtParser">X509.registExtParser</a></dd>
							
							</dl>
						
						

					<hr />
				
					<a name="getOtherName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getOtherName</b>
					
					</div>
					<div class="description">
						getOtherName ASN.1 structure parameter as JSON object<br/>
This method will get OtherName parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.6">
RFC 5280 4.2.1.6</a>.
<pre>
OtherName ::= SEQUENCE {
   type-id    OBJECT IDENTIFIER,
   value      [0] EXPLICIT ANY DEFINED BY type-id }
</pre>
The value of member "other" is converted by 
ASN1HEX#parse.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getOtherName("30...") &rarr;
{ oid: "1.2.3.4",
  value: {utf8str: {str: "aaa"}} }</pre>
					
					

						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.5.3 x509 2.0.12</dd>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
							<dd><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></dd>
							
							<dd><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></dd>
							
							<dd><a href="../symbols/KJUR.asn1.x509.OtherName.html">KJUR.asn1.x509.OtherName</a></dd>
							
							<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
							<dd>ASN1HEX#parse</dd>
							
							</dl>
						
						

					<hr />
				
					<a name="hex"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>hex</b>
					
					</div>
					<div class="description">
						hexacedimal string for X.509 certificate.
						
						
					</div>
					
					

						
						
						
						

					<hr />
				
					<a name="version"> </a>
					<div class="fixedFont">
					
					<span class="light">{Number}</span>
					<b>version</b>
					
					</div>
					<div class="description">
						format version (1: X509v1, 3: X509v3, otherwise: unknown) since jsrsasign 7.1.4
						
						
					</div>
					
					

						
						
						
						

					
				
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name="asn1ToDisplayText"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>asn1ToDisplayText</b>(pASN1)
					
					</div>
					<div class="description">
						convert ASN1Object parameter to DisplayText parameter
This method converts from KJUR.asn1.ASN1Util#newObject paramter to
<a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a> paramter
for <a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
DisplayText</a> ASN.1 structure.
<pre>
DisplayText ::= CHOICE {
     ia5String        IA5String      (SIZE (1..200)),
     visibleString    VisibleString  (SIZE (1..200)),
     bmpString        BMPString      (SIZE (1..200)),
     utf8String       UTF8String     (SIZE (1..200)) }     
</pre>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.asn1ToDisplayText({utf8str: {str: "aaa"}}) &rarr {type: 'utf8', str: 'aaa'}
x.asn1ToDisplayText({bmpstr: {str: "aaa"}}) &rarr {type: 'bmp',  str: 'aaa'}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>pASN1</b>
									
								</dt>
								<dd>ASN1Object paramter for DisplayText</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.8.0 x509 2.1.3</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> DisplayText paramter</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getDisplayText">X509#getDisplayText</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a></dd>
							
								<dd>KJUR.asn1.ASN1Util#newObject</dd>
							
							</dl>
						

					<hr />
				
					<a name="c14nRDNArray"> </a>
					<div class="fixedFont">
					
					<span class="light">{string}</span>
					<b>c14nRDNArray</b>(aRDN)
					
					</div>
					<div class="description">
						simple canonicalization(c14n) for RDN array<br/>
This method canonicalizes a DN string according to
<a href="https://datatracker.ietf.org/doc/html/rfc4518#appendix-B">
"RFC 4518 StringPrep Appendix B Substring Matching"</a> as following:
<ul>
<li>convert to lower case</li>
<li>convert from all sequence of spaces to a space</li>
<li>remove leading and trailing spaces</li>
</ul>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.c14nRDNArray([
  [{type:"C", value:"JP", ds: "prn"}],
  [{type:"O", value:"    Test    1234     ", ds: "utf8"}],
  [{type:"OU", value:"HR   45", ds: "utf8"}]
]) &rarr; "/c=jp/o=test 1234/ou=hr 45"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{array}</span> <b>aRDN</b>
									
								</dt>
								<dd>array of RDN parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.6.0 x509 2.1.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{string}</span> canonicalized distinguish name (ex. "/c=jp/o=test ca")</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="dnarraytostr"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>dnarraytostr</b>(aDN)
					
					</div>
					<div class="description">
						convert array for X500 distinguish name to distinguish name string<br/>
This method converts from an array representation of 
X.500 distinguished name to X.500 name string.
This supports multi-valued RDN.
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.dnarraytostr(
  [[{type:"C",value:"JP",ds:"prn"}],
  [{type:"O",value:"T1",ds:"prn"}]]) &rarr; "/C=JP/O=T1"
x.dnarraytostr(
  [[{type:"C",value:"JP",ds:"prn"}],
  [{type:"O",value:"T1",ds:"prn"}
   {type:"CN",value:"Bob",ds:"prn"}]]) &rarr; "/C=JP/O=T1+CN=Bob"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>aDN</b>
									
								</dt>
								<dd>array for X500 distinguish name</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.6 x509 2.0.8</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> distinguish name</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500Name">X509#getX500Name</a></dd>
							
								<dd><a href="../symbols/X509.html#getX500NameArray">X509#getX500NameArray</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.X500Name.html">KJUR.asn1.x509.X500Name</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="findExt"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>findExt</b>(aExt, extname)
					
					</div>
					<div class="description">
						find extension parameter in array<br/>
This method returns an extension parameter for
specified extension name in the array.
This method is useful to update extension parameter value.
When there is no such extension with the extname,
this returns "null".
						
						
					</div>
					
					
					
					<pre class="code">// (1) 
x = new X509(CERTPEM);
params = x.getParam();
pSKID = x.findExt(params.ext, "subjectKeyIdentifier");
pSKID.kid = "1234abced..."; // skid in the params is updated.
  // then params was updated

// (2) another example
aExt = [
  {extname:"keyUsage",critical:true,names:["digitalSignature"]},
  {extname:"basicConstraints",critical:true},
  {extname:"subjectKeyIdentifier",kid:{hex:"f2eb..."}},
  {extname:"authorityKeyIdentifier",kid:{hex:"12ab..."}},
  {extname:"authorityInfoAccess",array:[{ocsp:"http://ocsp.example.com/"}]},
  {extname:"certificatePolicies",array:[{policyoid:"2.23.140.1.2.1"}]}
];
var x = new X509();
x.findExt(aExt, "authorityKeyInfoAccess").array[0].ocsp = "http://aaa.com";
pKU = x.findExt(aExt, "keyUsage");
delete pKU["critical"]; // clear criticla flag
pKU.names = ["keyCertSign", "cRLSign"];
  // then aExt was updated</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>aExt</b>
									
								</dt>
								<dd>array of extension parameters</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>extname</b>
									
								</dt>
								<dd>extension name</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.3 x509 2.0.7</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> extension parameter in the array or null</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getParam">X509#getParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getAlgorithmIdentifierName"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getAlgorithmIdentifierName</b>(hTLV)
					
					</div>
					<div class="description">
						get algorithm name name of AlgorithmIdentifier ASN.1 structure
This method will get a name of AlgorithmIdentifier.
<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
algName = x.getAlgorithmIdentifierName("30...");</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hTLV</b>
									
								</dt>
								<dd>hexadecimal string of AlgorithmIdentifier</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> algorithm name (ex. SHA1withRSA, SHA256withECDSA, SHA512withRSAandMGF1, SHA1)</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getAttrTypeAndValue"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getAttrTypeAndValue</b>(h)
					
					</div>
					<div class="description">
						get AttributeTypeAndValue ASN.1 structure parameter as JSON object<br/>
This method will get AttributeTypeAndValue parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.
<pre>
AttributeTypeAndValue ::= SEQUENCE {
  type     AttributeType,
  value    AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY -- DEFINED BY AttributeType
</pre>
<ul>
<li>{String}type - AttributeType name or OID(ex. C,O,CN)</li>
<li>{String}value - raw string of ASN.1 value of AttributeValue</li>
<li>{String}ds - DirectoryString type of AttributeValue</li>
</ul>
"ds" has one of following value:
<ul>
<li>utf8 - (0x0c) UTF8String</li>
<li>num  - (0x12) NumericString</li>
<li>prn  - (0x13) PrintableString</li>
<li>tel  - (0x14) TeletexString</li>
<li>ia5  - (0x16) IA5String</li>
<li>vis  - (0x1a) VisibleString</li>
<li>bmp  - (0x1e) BMPString</li>
</ul>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getAttrTypeAndValue("30...") &rarr;
{type:"CN",value:"john.smith@example.com",ds:"ia5"} or
{type:"O",value:"Sample Corp.",ds:"prn"}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of AttributeTypeAndValue</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of AttributeTypeAndValue parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500Name">X509#getX500Name</a></dd>
							
								<dd><a href="../symbols/X509.html#getRDN">X509#getRDN</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getCriticalExtV"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getCriticalExtV</b>(extname, hExtV, critical)
					
					</div>
					<div class="description">
						get extension value and critical flag value<br/>
This method is an utility method for all getExt* of extensions.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
x.getCriticalExtV("inhibitAnyPolicy") &rarr ["020103", true] // get from X509 object
x.getCriticalExtV("inhibitAnyPolicy",
                  "020104",
                  true) &rarr ["020104", true] // by argument of method.</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{string}</span> <b>extname</b>
									
								</dt>
								<dd>name string of the extension</dd>
							
								<dt>
									<span class="light fixedFont">{string}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension</dd>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.6.1 x509 2.1.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> extension value hex and critical flag</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getDisplayText"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getDisplayText</b>(h)
					
					</div>
					<div class="description">
						get DisplayText ASN.1 structure parameter as JSON object
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
DisplayText</a> parameters.
<pre>
DisplayText ::= CHOICE {
     ia5String        IA5String      (SIZE (1..200)),
     visibleString    VisibleString  (SIZE (1..200)),
     bmpString        BMPString      (SIZE (1..200)),
     utf8String       UTF8String     (SIZE (1..200)) }     
</pre>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.DisplayText.html">KJUR.asn1.x509.DisplayText</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getDisplayText("0c03616161") &rarr {type: 'utf8', str: 'aaa'}
x.getDisplayText("1e03616161") &rarr {type: 'bmp',  str: 'aaa'}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of DisplayText</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of DisplayText parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtCertificatePolicies">X509#getExtCertificatePolicies</a></dd>
							
								<dd><a href="../symbols/X509.html#getPolicyInformation">X509#getPolicyInformation</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getDistributionPoint"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getDistributionPoint</b>(h)
					
					</div>
					<div class="description">
						get DistributionPoint ASN.1 structure parameter as JSON object
This method will get DistributionPoint parameters.
Result of this method can be passed to
<a href="../symbols/KJUR.asn1.x509.DistributionPoint.html">KJUR.asn1.x509.DistributionPoint</a> constructor.
<br/>
NOTE: reasons[1] and CRLIssuer[2] field not supported
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getDistributionPoint("30...") &rarr;
{dpname: {full: [{uri: "http://aaa.com/"}]}}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of DistributionPoint</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of DistributionPoint parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtCRLDistributionPoints">X509#getExtCRLDistributionPoints</a></dd>
							
								<dd><a href="../symbols/X509.html#getDistributionPointName">X509#getDistributionPointName</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralNames">X509#getGeneralNames</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getDistributionPointName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getDistributionPointName</b>(h)
					
					</div>
					<div class="description">
						get DistributionPointName ASN.1 structure parameter as JSON object
This method will get DistributionPointName parameters.
Result of this method can be passed to
<a href="../symbols/KJUR.asn1.x509.DistributionPointName.html">KJUR.asn1.x509.DistributionPointName</a> constructor.
<br/>
NOTE: nameRelativeToCRLIssuer[1] not supported
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getDistributionPointName("a0...") &rarr;
{full: [{uri: "http://aaa.com/"}]}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of DistributionPointName</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of DistributionPointName parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtCRLDistributionPoints">X509#getExtCRLDistributionPoints</a></dd>
							
								<dd><a href="../symbols/X509.html#getDistributionPoint">X509#getDistributionPoint</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralNames">X509#getGeneralNames</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtAdobeTimeStamp"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtAdobeTimeStamp</b>(hExtV, critical)
					
					</div>
					<div class="description">
						parse AdobeTimeStamp extension as JSON object<br/>
This method parses
X.509v3 AdobeTimeStamp private extension value defined in the
<a href="https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSigDC/oids.html">
Adobe site</a> as JSON object.
This extension provides the URL location for time stamp service.
<pre>
adbe- OBJECT IDENTIFIER ::=  { adbe(1.2.840.113583) acrobat(1) security(1) x509Ext(9) 1 }
 ::= SEQUENCE {
    version INTEGER  { v1(1) }, -- extension version
    location GeneralName (In v1 GeneralName can be only uniformResourceIdentifier)
    requiresAuth        boolean (default false), OPTIONAL }
</pre>
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.AdobeTimeStamp.html">KJUR.asn1.x509.AdobeTimeStamp</a> constructor.
<br/>
NOTE: This extesion doesn't seem to have official name. This may be called as "pdfTimeStamp".
						
						
					</div>
					
					
					
					<pre class="code">x.getExtAdobeTimeStamp(<<extn hex value >>) &rarr;
{ extname: "adobeTimeStamp", uri: "http://tsa.example.com/" reqauth: true }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.1 x509 2.0.5</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of parsed AdobeTimeStamp extension</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.AdobeTimeStamp.html">KJUR.asn1.x509.AdobeTimeStamp</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParam">X509#getExtParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtAIAInfo"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtAIAInfo</b>()
					
					</div>
					<div class="description">
						get AuthorityInfoAccess extension value in the certificate as associative array
This method will get authority info access value
as associate array which has following properties:
<ul>
<li>ocsp - array of string for OCSP responder URL</li>
<li>caissuer - array of string for caIssuer value (i.e. CA certificates URL)</li>
</ul>
If there is this in the certificate, it returns undefined;
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtAIAInfo(hCert) &rarr; 
{ ocsp:     ["http://ocsp.foo.com"],
  caissuer: ["http://rep.foo.com/aaa.p8m"] }</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> associative array of AIA extension properties</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getExtAuthorityInfoAccess"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtAuthorityInfoAccess</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get AuthorityInfoAccess extension value as JSON object
This method parse authorityInfoAccess extension. When arguments are
not specified, its extension in X509 object will be parsed.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a> constructor.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtAuthorityInfoAccess() &rarr;
{
  critial: true, // 
  array: [{ocsp: http://ocsp.example.com/},
          {caissuer: https://repository.example.com/}]
}

x = new X509();
x.getExtAuthorityInfoAccesss("306230...") 
x.getExtAuthorityInfoAccesss("306230...", true)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of AuthorityInfoAccess parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtAuthorityKeyIdentifier"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtAuthorityKeyIdentifier</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get authorityKeyIdentifier value as JSON object in the certificate<br/>
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.1">
AuthorityKeyIdentifier extension</a> value as JSON object.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
If there is no such extension in the certificate, it returns undefined.
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.AuthorityKeyIdentifier.html">KJUR.asn1.x509.AuthorityKeyIdentifier</a> constructor.
<pre>
   id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }
   AuthorityKeyIdentifier ::= SEQUENCE {
      keyIdentifier             [0] KeyIdentifier           OPTIONAL,
      authorityCertIssuer       [1] GeneralNames            OPTIONAL,
      authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }
   KeyIdentifier ::= OCTET STRING
</pre>
Constructor may have following parameters:
<ul>
<li>{Array}kid - JSON object of <a href="../symbols/KJUR.asn1.DEROctetString.html">KJUR.asn1.DEROctetString</a> parameters</li>
<li>{Array}issuer - JSON object of <a href="../symbols/KJUR.asn1.x509.X500Name.html">KJUR.asn1.x509.X500Name</a> parameters</li>
<li>{Array}sn - JSON object of <a href="../symbols/KJUR.asn1.DERInteger.html">KJUR.asn1.DERInteger</a> parameters</li>
<li>{Boolean}critical - critical flag</li>
</ul>
<br>
NOTE: The 'authorityCertIssuer' and 'authorityCertSerialNumber'
supported since jsrsasign 9.0.0 x509 2.0.0.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtAuthorityKeyIdentifier() &rarr; 
{ kid: {hex: "1234abcd..."},
  issuer: {hex: "30..."},
  sn: {hex: "1234..."},
  critical: true}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of AuthorityKeyIdentifier parameter or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.AuthorityKeyIdentifier.html">KJUR.asn1.x509.AuthorityKeyIdentifier</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtBasicConstraints"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtBasicConstraints</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get BasicConstraints extension value as object in the certificate
This method will get basic constraints extension value as object with following paramters.
<ul>
<li>{Boolean}cA - CA flag whether CA or not</li>
<li>{Integer}pathLen - maximum intermediate certificate length</li>
<li>{Boolean}critical - critical flag</li>
</ul>
There are use cases for return values:
<ul>
<li>{cA:true,pathLen:3,critical:true} - cA flag is true and pathLen is 3</li>
<li>{cA:true,critical:true} - cA flag is true and no pathLen</li>
<li>{} - basic constraints has no value in case of end entity certificate</li>
<li>undefined - there is no basic constraints extension</li>
</ul>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtBasicConstraints() &rarr; {cA:true,pathLen:3,critical:true}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of BasicConstraints parameter or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.BasicConstraints.html">KJUR.asn1.x509.BasicConstraints</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtCertificatePolicies"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtCertificatePolicies</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get CertificatePolicies extension value as JSON object
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.CertificatePolicies.html">KJUR.asn1.x509.CertificatePolicies</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.CertificatePolicies.html">KJUR.asn1.x509.CertificatePolicies</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
<br>
CAUTION: return value of JSON object format have been changed
from jsrsasign 9.0.0 without backword compatibility.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtCertificatePolicies() &rarr; 
{ array: [
  { policyoid: "1.2.3.4" }
  { policyoid: "1.2.3.5",
    array: [
      { cps: "https://example.com/" },
      { unotice: { exptext: { type: "bmp", str: "sample text" } } }
    ] 
  }
]}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of CertificatePolicies parameters or undefined</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getExtCRLDistributionPoints"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtCRLDistributionPoints</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get CRLDistributionPoints extension value as JSON object
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtCRLDistributionPoints() &rarr; 
{array: [
  {dpname: {full: [{uri: "http://example.com/"}]}},
  {dpname: {full: [{uri: "ldap://example.com/"}]}}
 ],
 critical: true}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of CRLDistributionPoints parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a></dd>
							
								<dd><a href="../symbols/X509.html#getDistributionPoint">X509#getDistributionPoint</a></dd>
							
								<dd><a href="../symbols/X509.html#getDistributionPointName">X509#getDistributionPointName</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralNames">X509#getGeneralNames</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtCRLDistributionPointsURI"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtCRLDistributionPointsURI</b>()
					
					</div>
					<div class="description">
						get array of string for fullName URIs in cRLDistributionPoints(CDP) in the certificate (DEPRECATED)
This method will get all fullName URIs of cRLDistributionPoints extension
in the certificate as array of URI string.
If there is this in the certificate, it returns undefined;
<br>
NOTE: Currently this method supports only fullName URI so that
other parameters will not be returned.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtCRLDistributionPointsURI() &rarr;
["http://example.com/aaa.crl", "http://example.org/aaa.crl"]</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> array of fullName URIs of CDP of the certificate</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getExtCRLNumber"> </a>
					<div class="fixedFont">
					
					
					<b>getExtCRLNumber</b>(hExtV, critical)
					
					</div>
					<div class="description">
						parse cRLNumber CRL extension as JSON object<br/>
This method parses
CRLNumber CRL extension value defined in
<a href="https://tools.ietf.org/html/rfc5280#section-5.2.3">
RFC 5280 5.2.3</a> as JSON object.
<pre>
id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 }
CRLNumber ::= INTEGER (0..MAX)
</pre>
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.CRLNumber.html">KJUR.asn1.x509.CRLNumber</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">crl = X509CRL("-----BEGIN X509 CRL...");
... get hExtV and critical flag ...
crl.getExtCRLNumber("02...", false) &rarr;
{extname: "cRLNumber", num: {hex: "12af"}}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.1.1 x509 2.0.1</dd>
							</dl>
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.CRLNumber.html">KJUR.asn1.x509.CRLNumber</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtCRLReason"> </a>
					<div class="fixedFont">
					
					
					<b>getExtCRLReason</b>(hExtV, critical)
					
					</div>
					<div class="description">
						parse cRLReason CRL entry extension as JSON object<br/>
This method parses
CRLReason CRL entry extension value defined in
<a href="https://tools.ietf.org/html/rfc5280#section-5.3.1">
RFC 5280 5.3.1</a> as JSON object.
<pre>
id-ce-cRLReasons OBJECT IDENTIFIER ::= { id-ce 21 }
-- reasonCode ::= { CRLReason }
CRLReason ::= ENUMERATED {
     unspecified             (0),
     keyCompromise           (1),
     cACompromise            (2),
     affiliationChanged      (3),
     superseded              (4),
     cessationOfOperation    (5),
     certificateHold         (6),
     removeFromCRL           (8),
     privilegeWithdrawn      (9),
     aACompromise           (10) }
</pre>
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.CRLReason.html">KJUR.asn1.x509.CRLReason</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">crl = X509CRL("-----BEGIN X509 CRL...");
... get hExtV and critical flag ...
crl.getExtCRLReason("02...", false) &rarr;
{extname: "cRLReason", code: 3}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.1.1 x509 2.0.1</dd>
							</dl>
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.CRLReason.html">KJUR.asn1.x509.CRLReason</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtExtKeyUsage"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array, Object}</span>
					<b>getExtExtKeyUsage</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get extKeyUsage value as JSON object
This method parse extKeyUsage extension. When arguments are
not specified, its extension in X509 object will be parsed.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.ExtKeyUsage.html">KJUR.asn1.x509.ExtKeyUsage</a> constructor.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtExtKeyUsage() &rarr;
{ array: ["clientAuth", "emailProtection", "1.3.6.1.4.1.311.10.3.4"], 
  critical: true},</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of ExtKeyUsage parameter or undefined</dd>
							
								<dd><span class="light fixedFont">{Object}</span> JSONarray of extended key usage ID name or oid</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.ExtKeyUsage.html">KJUR.asn1.x509.ExtKeyUsage</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtExtKeyUsageName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtExtKeyUsageName</b>()
					
					</div>
					<div class="description">
						get extKeyUsage value as array of name string in the certificate(DEPRECATED)<br/>
This method will get extended key usage extension value
as array of name or OID string.
If there is this in the certificate, it returns undefined;
<br>
NOTE: Supported extended key usage ID names are defined in
name2oidList parameter in asn1x509.js file.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtExtKeyUsageName() &rarr; ["serverAuth", "clientAuth", "0.1.2.3.4.5"]</pre>
					
					
					
						
						
							<dl class="detailList">
							<dt class="heading">Deprecated:</dt>
							<dt>
								since jsrsasign 9.0.0 x509 2.0.0
							</dt>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> array of extended key usage ID name or oid</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getExtInfo"> </a>
					<div class="fixedFont">
					
					
					<b>getExtInfo</b>(oidOrName)
					
					</div>
					<div class="description">
						get a X.509v3 extesion information such as extension OID, criticality and value index for specified oid or name.<br/>
This method will get an X.509v3 extension information JSON object
having extension OID, criticality and value idx for specified
extension OID or name.
If there is no such extension, this returns undefined.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.

x.getExtInfo("keyUsage") &rarr; { oid: "2.5.29.15", critical: true, vidx: 1714 }
x.getExtInfo("unknownExt") &rarr; undefined</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>oidOrName</b>
									
								</dt>
								<dd>X.509 extension oid or name (ex. keyUsage or 2.5.29.19)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>X.509 extension information such as extension OID or value indx (see <a href="../symbols/X509.html#parseExt">X509#parseExt</a>)</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getExtInhibitAnyPolicy"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtInhibitAnyPolicy</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get InhibitAnyPolicy extension value as JSON object<br/>
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.InhibitAnyPolicy.html">KJUR.asn1.x509.InhibitAnyPolicy</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.InhibitAnyPolicy.html">KJUR.asn1.x509.InhibitAnyPolicy</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
x.getExtInhibitAnyPolicy() &rarr; 
{ extname: "policyConstraints",
  critical: true,
  skip: 3 }

x.getExtInhibitAnyPolicy("020103", true) &rarr; same as above</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.6.1 x509 2.1.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of InhibitAnyPolicy parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.InhibitAnyPolicy.html">KJUR.asn1.x509.InhibitAnyPolicy</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtIssuerAltName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtIssuerAltName</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get issuerAltName value as array of string in the certificate
This method will get issuerAltName value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtIssuerAltName() &rarr; 
{ array: [
    {uri: "http://example.com/"},
    {rfc822: "user1@example.com"},
    {dns: "example.com"}
  ],
  critical: true
}

x.getExtIssuerAltName("3026...") &rarr;
{ array: [{ip: "192.168.1.1"}] }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of IssuerAltName parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtSubjectAltName">X509#getExtSubjectAltName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtKeyUsage"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtKeyUsage</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get KeyUsage extension value as JSON object
This method parse keyUsage extension. When arguments are
not specified, its extension in X509 object will be parsed.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.KeyUsage.html">KJUR.asn1.x509.KeyUsage</a> constructor.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
<pre>
id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
KeyUsage ::= BIT STRING {
     digitalSignature        (0),
     nonRepudiation          (1),
     keyEncipherment         (2),
     dataEncipherment        (3),
     keyAgreement            (4),
     keyCertSign             (5),
     cRLSign                 (6),
     encipherOnly            (7),
     decipherOnly            (8) }     
</pre>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtKeyUsage() &rarr;
{
  critial: true,
  names: ["digitalSignature", "decipherOnly"]
}

x = new X509();
x.getExtKeyUsage("306230...") 
x.getExtKeyUsage("306230...", true)</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of KeyUsage parameter or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.KeyUsage.html">KJUR.asn1.x509.KeyUsage</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtKeyUsageString">X509#getExtKeyUsageString</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtKeyUsageBin"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getExtKeyUsageBin</b>(hExtV)
					
					</div>
					<div class="description">
						get KeyUsage extension value as binary string in the certificate<br/>
This method will get key usage extension value
as binary string such like '101'.
Key usage bits definition is in the RFC 5280.
If there is no key usage extension in the certificate,
it returns empty string (i.e. '').
<br/>
NOTE: argument 'hExtV' supported since jsrsasign 9.0.0 x509 2.0.0.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtKeyUsageBin() &rarr; '101'
// 1 - digitalSignature
// 0 - nonRepudiation
// 1 - keyEncipherment</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> binary string of key usage bits (ex. '101')</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtKeyUsage">X509#getExtKeyUsage</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtKeyUsageString"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getExtKeyUsageString</b>(hExtV)
					
					</div>
					<div class="description">
						get KeyUsage extension value as names in the certificate<br/>
This method will get key usage extension value
as comma separated string of usage names.
If there is no key usage extension in the certificate,
it returns empty string (i.e. '').
<br/>
NOTE: argument 'hExtV' supported since jsrsasign 9.0.0 x509 2.0.0.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtKeyUsageString() &rarr; "digitalSignature,keyEncipherment"</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> comma separated string of key usage</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtKeyUsage">X509#getExtKeyUsage</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtNameConstraints"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtNameConstraints</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get NameConstraints extension value as object in the certificate<br/>
This method will get name constraints extension value as object with following paramters.
<ul>
<li>{Array}permit - array of <a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a> parameter</li>
<li>{Array}exclude - array of <a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a> parameter</li>
<li>{Boolean}critical - critical flag</li>
</ul>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
x.getExtNameConstraints() &rarr; {
  critical: true,
  permit: [{dns: 'example.com'},{rfc822: 'john@example.com'}],
  exclude: [{dn: {...X500Name parameter...}}]
}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.5.16 x509 2.0.16</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of NamConstraints parameter or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.NameConstraints.html">KJUR.asn1.x509.NameConstraints</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralSubtree">X509#getGeneralSubtree</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtOcspNoCheck"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtOcspNoCheck</b>(hExtV, critical)
					
					</div>
					<div class="description">
						parse OCSPNoCheck OCSP extension as JSON object<br/>
This method parses
OCSPNoCheck extension value defined in
<a href="https://tools.ietf.org/html/rfc6960#section-4.2.2.2.1">
RFC 6960 4.2.2.2.1</a> as JSON object.
<pre>
id-pkix-ocsp-nocheck OBJECT IDENTIFIER ::= { id-pkix-ocsp 5 }
</pre>
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.OCSPNoCheck.html">KJUR.asn1.x509.OCSPNoCheck</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getExtOcspNoCheck(<<extn hex value >>) &rarr;
{ extname: "ocspNoCheck" }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.1.6 x509 2.0.3</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of parsed OCSPNoCheck extension</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.OCSPNoCheck.html">KJUR.asn1.x509.OCSPNoCheck</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParam">X509#getExtParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtOcspNonce"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtOcspNonce</b>(hExtV, critical)
					
					</div>
					<div class="description">
						parse OCSPNonce OCSP extension as JSON object<br/>
This method parses
Nonce OCSP extension value defined in
<a href="https://tools.ietf.org/html/rfc6960#section-4.4.1">
RFC 6960 4.4.1</a> as JSON object.
<pre>
id-pkix-ocsp           OBJECT IDENTIFIER ::= { id-ad-ocsp }
id-pkix-ocsp-nonce     OBJECT IDENTIFIER ::= { id-pkix-ocsp 2 }
Nonce ::= OCTET STRING
</pre>
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.OCSPNonce.html">KJUR.asn1.x509.OCSPNonce</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getExtOcspNonce(<<extn hex value >>) &rarr;
{ extname: "ocspNonce", hex: "1a2b..." }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.1.6 x509 2.0.3</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of parsed OCSPNonce extension</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.OCSPNonce.html">KJUR.asn1.x509.OCSPNonce</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParam">X509#getExtParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtParam"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtParam</b>(hExt)
					
					</div>
					<div class="description">
						get a extension parameter JSON object<br/>
This method returns a extension parameters as JSON object.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
...
x.getExtParam("30...") &rarr;
{extname:"keyUsage",critical:true,names:["digitalSignature"]}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExt</b>
									
								</dt>
								<dd>hexadecimal string of Extension</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.1.1 x509 2.0.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> Extension parameter JSON object</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.X509Util.html#.newCertPEM">KJUR.asn1.x509.X509Util.newCertPEM</a></dd>
							
								<dd><a href="../symbols/X509.html#getParam">X509#getParam</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
								<dd><a href="../symbols/X509CRL.html#getParam">X509CRL#getParam</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.csr.CSRUtil.html#.getParam">KJUR.asn1.csr.CSRUtil.getParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtParamArray"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtParamArray</b>(hExtSeq)
					
					</div>
					<div class="description">
						get array of certificate extension parameter JSON object<br/>
This method returns an array of certificate extension
parameters. 
<br/>
NOTE: Argument "hExtSeq" have been supported since jsrsasign 9.1.1.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM("-----BEGIN CERTIFICATE...");
x.getExtParamArray() &rarr;
[ {extname:"keyUsage",critical:true,names:["digitalSignature"]},
  {extname:"basicConstraints",critical:true},
  {extname:"subjectKeyIdentifier",kid:{hex:"f2eb..."}},
  {extname:"authorityKeyIdentifier",kid:{hex:"12ab..."}},
  {extname:"authorityInfoAccess",array:[{ocsp:"http://ocsp.example.com/"}]},
  {extname:"certificatePolicies",array:[{policyoid:"2.23.140.1.2.1"}]}]</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtSeq</b>
									
								</dt>
								<dd>hexadecimal string of SEQUENCE of Extension</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> array of certificate extension parameter JSON object</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.X509Util.html#.newCertPEM">KJUR.asn1.x509.X509Util.newCertPEM</a></dd>
							
								<dd><a href="../symbols/X509.html#getParam">X509#getParam</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParam">X509#getExtParam</a></dd>
							
								<dd><a href="../symbols/X509CRL.html#getParam">X509CRL#getParam</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.csr.CSRUtil.html#.getParam">KJUR.asn1.csr.CSRUtil.getParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtPolicyConstraints"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtPolicyConstraints</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get PolicyConstraints extension value as JSON object<br/>
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.PolicyConstraints.html">KJUR.asn1.x509.PolicyConstraints</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.PolicyConstraints.html">KJUR.asn1.x509.PolicyConstraints</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
x.getExtPolicyConstraints() &rarr; 
{ extname: "policyConstraints",
  critical: true,
  reqexp: 3,
  inhibit: 3 }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.6.1 x509 2.1.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of PolicyConstraints parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.PolicyConstraints.html">KJUR.asn1.x509.PolicyConstraints</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtPolicyMappings"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtPolicyMappings</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get PolicyMappings extension value as JSON object<br/>
This method will get certificate policies value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.PolicyMappings.html">KJUR.asn1.x509.PolicyMappings</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.PolicyMappings.html">KJUR.asn1.x509.PolicyMappings</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
x.getExtPolicyMappings() &rarr; 
{ extname: "policyMappings",
  critical: true,
  array: [["1.2.3", "1.4.5"],["0.1.2", "anyPolicy"]]}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.6.1 x509 2.1.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of PolicyMappings parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.PolicyMappings.html">KJUR.asn1.x509.PolicyMappings</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtSubjectAltName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtSubjectAltName</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get subjectAltName value as array of string in the certificate
This method will get subjectAltName value
as an array of JSON object which has properties defined
in <a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a>.
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a> constructor.
If there is no this extension in the certificate,
it returns undefined.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
<br>
CAUTION: return value of JSON object format have been changed
from jsrsasign 9.0.0 x509 2.0.0 without backword compatibility.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtSubjectAltName() &rarr; 
{ array: [
    {uri: "http://example.com/"},
    {rfc822: "user1@example.com"},
    {dns: "example.com"}
  ],
  critical: true
}

x.getExtSubjectAltName("3026...") &rarr;
{ array: [{ip: "192.168.1.1"}] }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of SubjectAltName parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtIssuerAltName">X509#getExtIssuerAltName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtSubjectAltName2"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getExtSubjectAltName2</b>()
					
					</div>
					<div class="description">
						get subjectAltName value as array of string in the certificate (DEPRECATED)
This method will get subject alt name extension value
as array of type and name.
If there is this in the certificate, it returns undefined;
Type of GeneralName will be shown as following:
<ul>
<li>"MAIL" - [1]rfc822Name</li>
<li>"DNS"  - [2]dNSName</li>
<li>"DN"   - [4]directoryName</li>
<li>"URI"  - [6]uniformResourceIdentifier</li>
<li>"IP"   - [7]iPAddress</li>
</ul>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtSubjectAltName2() &rarr;
[["DNS",  "example.com"],
 ["DNS",  "example.org"],
 ["MAIL", "foo@example.com"],
 ["IP",   "192.168.1.1"],
 ["IP",   "2001:db8::2:1"],
 ["DN",   "/C=US/O=TEST1"]]</pre>
					
					
					
						
						
							<dl class="detailList">
							<dt class="heading">Deprecated:</dt>
							<dt>
								jsrsasign 9.0.0 x509 2.0.0
							</dt>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.1 x509 1.1.17</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> array of alt name array</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getExtSubjectDirectoryAttributes"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtSubjectDirectoryAttributes</b>(hExtV, critical)
					
					</div>
					<div class="description">
						parse SubjectDirectoryAttributes extension as JSON object<br/>
This method parses
SubjectDirectoryAttributes extension value defined in the
defined in <a href="https://tools.ietf.org/html/rfc3739#section-3.3.2">
RFC 3739 Qualified Certificate Profile section 3.3.2</a> as JSON object.
<pre>
SubjectDirectoryAttributes ::= Attributes
Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
Attribute ::= SEQUENCE {
  type AttributeType 
  values SET OF AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY DEFINED BY AttributeType
</pre>
<br/>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.SubjectDirectoryAttributes.html">KJUR.asn1.x509.SubjectDirectoryAttributes</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x.getExtSubjectDirectoryAttributes(<<extn hex value >>) &rarr;
{ "extname": "SubjectDirectoryAttributes",
  "array": [
    { "attr": "gender", "array": [{"prnstr": {"str": "female"}}] },
    { "attr": "1.2.3.4.5", "array": [{"prnstr": {"str": "aaa"}}, {"utf8str": {"str": "bbb"}}] }
  ] }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.8.4 x509 2.1.4</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of parsed SubjectDirectoryAttributes extension</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.SubjectDirectoryAttributes.html">KJUR.asn1.x509.SubjectDirectoryAttributes</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParamArray">X509#getExtParamArray</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtParam">X509#getExtParam</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getExtSubjectKeyIdentifier"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getExtSubjectKeyIdentifier</b>(hExtV, critical)
					
					</div>
					<div class="description">
						get subjectKeyIdentifier value as hexadecimal string in the certificate<br/>
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.2">
SubjectKeyIdentifier extension</a> value as JSON object.
<br>
When hExtV and critical specified as arguments, return value
will be generated from them.
If there is no such extension in the certificate, it returns undefined.
<br>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.SubjectKeyIdentifier.html">KJUR.asn1.x509.SubjectKeyIdentifier</a> constructor.
<pre>
id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 14 }
SubjectKeyIdentifier ::= KeyIdentifier
</pre>
<br>
CAUTION:
Returned JSON value format have been changed without 
backward compatibility since jsrsasign 9.0.0 x509 2.0.0.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.
x.getExtSubjectKeyIdentifier() &rarr; 
{ kid: {hex: "1b3347ab..."}, critical: true };</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hExtV</b>
									
								</dt>
								<dd>hexadecimal string of extension value (OPTIONAL)</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>critical</b>
									
								</dt>
								<dd>flag (OPTIONAL)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of SubjectKeyIdentifier parameter or undefined</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getGeneralName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getGeneralName</b>(h)
					
					</div>
					<div class="description">
						get GeneralName ASN.1 structure parameter as JSON object<br/>
This method will get GeneralName parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.6">
RFC 5280 4.2.1.6</a>.
<pre>
GeneralName ::= CHOICE {
     otherName                       [0]     OtherName,
     rfc822Name                      [1]     IA5String,
     dNSName                         [2]     IA5String,
     x400Address                     [3]     ORAddress,
     directoryName                   [4]     Name,
     ediPartyName                    [5]     EDIPartyName,
     uniformResourceIdentifier       [6]     IA5String,
     iPAddress                       [7]     OCTET STRING,
     registeredID                    [8]     OBJECT IDENTIFIER }
</pre>
Result of this method can be passed to
<a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getGeneralName("860f687474703a2f2f6161612e636f6d2f") 
&rarr; {uri: "http://aaa.com/"}
x.getGeneralName("a41c30...") &rarr;
{ dn: {
    array: [
      [{type:"C", value:"JP", ds:"prn"}],
      [{type:"O", value:"T1", ds:"utf8"}]
    ],
    str: "/C=JP/O=T1" } }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of GeneralName</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of GeneralName parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.OtherName.html">KJUR.asn1.x509.OtherName</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
								<dd><a href="../symbols/X509.html#getOtherName">X509#getOtherName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getGeneralNames"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getGeneralNames</b>(h)
					
					</div>
					<div class="description">
						get GeneralNames ASN.1 structure parameter as JSON object
This method will get GeneralNames parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.6">
RFC 5280 4.2.1.6</a>.
<pre>
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
</pre>
Result of this method can be passed to
<a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getGeneralNames("3011860f687474703a2f2f6161612e636f6d2f")
&rarr; [{uri: "http://aaa.com/"}]

x.getGeneralNames("301ea41c30...") &rarr;
[{ dn: {
    array: [
      [{type:"C", value:"JP", ds:"prn"}],
      [{type:"O", value:"T1", ds:"utf8"}]
    ],
    str: "/C=JP/O=T1" } }]</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of GeneralNames</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> array of GeneralNames parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralNames">X509#getGeneralNames</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getGeneralSubtree"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getGeneralSubtree</b>(h)
					
					</div>
					<div class="description">
						get GeneralSubtree ASN.1 structure parameter as JSON object<br/>
This method will get GeneralSubtree parameters defined in
<a href="https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10">
RFC 5280 4.2.1.10</a>.
<pre>
GeneralSubtree ::= SEQUENCE {
     base                    GeneralName,
     minimum         [0]     BaseDistance DEFAULT 0,
     maximum         [1]     BaseDistance OPTIONAL }
BaseDistance ::= INTEGER (0..MAX)
</pre>
Result of this method can be passed to
<a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sPEM);
x.getGeneralSubtree("30...") &rarr; { dn: ...X500NameObject..., min: 1, max: 3 }
x.getGeneralSubtree("30...") &rarr; { dns: ".example.com" }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of GeneralSubtree</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.5.16 x509 2.0.16</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of GeneralSubtree parameters or undefined</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralSubtree.html">KJUR.asn1.x509.GeneralSubtree</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></dd>
							
								<dd><a href="../symbols/X509.html#getExtNameConstraints">X509#getExtNameConstraints</a></dd>
							
								<dd><a href="../symbols/X509.html#getGeneralName">X509#getGeneralName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getInfo"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getInfo</b>()
					
					</div>
					<div class="description">
						get certificate information as string.<br/>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(certPEM);
console.log(x.getInfo());
// this shows as following
Basic Fields
  serial number: 02ac5c266a0b409b8f0b79f2ae462577
  signature algorithm: SHA1withRSA
  issuer: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
  notBefore: 061110000000Z
  notAfter: 311110000000Z
  subject: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
  subject public key info:
    key algorithm: RSA
    n=c6cce573e6fbd4bb...
    e=10001
X509v3 Extensions:
  keyUsage CRITICAL:
    digitalSignature,keyCertSign,cRLSign
  basicConstraints CRITICAL:
    cA=true
  subjectKeyIdentifier :
    b13ec36903f8bf4701d498261a0802ef63642bc3
  authorityKeyIdentifier :
    kid=b13ec36903f8bf4701d498261a0802ef63642bc3
signature algorithm: SHA1withRSA
signature: 1c1a0697dcd79c9f...</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 5.0.10 x509 1.1.8</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> certificate information string</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getIssuer"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getIssuer</b>(flagCanon, flagHex)
					
					</div>
					<div class="description">
						get JSON object of issuer field<br/>
Get a JSON object of an issuer field.
<br>
NOTE: From jsrsasign 10.6.0, flagHex and flagCanon has been 
supported to conclude a canonicalized name for caseIgnoreMatch
desribed in <a href="https://tools.ietf.org/html/rfc4518">
RFC 4518</a>.
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509(sCertPEM);
x.getIssuer() &rarr;
{ array: [[{type:'C',value:'JP',ds:'prn'}],...],
  str: "/C=JP/..." }

// with flags
x.getIssuer(true, true) &rarr;
{ array: ...,
  str: "/C=JP/O=   Test    123   ",
  canon: "/c=jp/o=test 123",
  hex: "30..." }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>flagCanon</b>
									
								</dt>
								<dd>flag to conclude canonicalized name (DEFAULT false)</dd>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>flagHex</b>
									
								</dt>
								<dd>flag to conclude hexadecimal string (DEFAULT false)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> JSON object of issuer field</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500Name">X509#getX500Name</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getIssuerHex"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getIssuerHex</b>()
					
					</div>
					<div class="description">
						get hexadecimal string of issuer field TLV of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var issuer = x.getIssuerHex(); // return string like "3013..."</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecial string of issuer DN ASN.1</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getIssuerString"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getIssuerString</b>()
					
					</div>
					<div class="description">
						get string of issuer field of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var dn1 = x.getIssuerString(); // return string like "/C=US/O=TEST"
var dn2 = KJUR.asn1.x509.X500Name.compatToLDAP(dn1); // returns "O=TEST, C=US"</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> issuer DN string</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getIssuer">X509#getIssuer</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getNotAfter"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getNotAfter</b>()
					
					</div>
					<div class="description">
						get notAfter field string of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var notAfter = x.getNotAfter(); // return string like "151231235959Z"</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> not after time value (ex. "151231235959Z")</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getNotBefore"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getNotBefore</b>()
					
					</div>
					<div class="description">
						get notBefore field string of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var notBefore = x.getNotBefore(); // return string like "151231235959Z"</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> not before time value (ex. "151231235959Z")</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getParam"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getParam</b>(option)
					
					</div>
					<div class="description">
						get JSON object of certificate parameters<br/>
This method returns a JSON object of the certificate
parameters. Return value can be passed to
<a href="../symbols/KJUR.asn1.x509.X509Util.html#.newCertPEM">KJUR.asn1.x509.X509Util.newCertPEM</a>.
<br/>
NOTE1: From jsrsasign 10.5.16, optional argument can be applied.
It can have following members:
<ul>
<li>tbshex - (boolean) tbshex member with hex value of 
tbsCertificate will be added if true (DEFAULT undefined)</li>
<li>nodnarray - (boolean) array member for subject and
issuer will be deleted to simplify it if true (DEFAULT undefined)<li>
<li>dncanon - (boolean) add canon member to subject and issuer for DN StringPrep if true(DEFAULT undefined)</li>
<li>dnhex - (boolean) add hex member to subject and issuer if true(DEFAULT undefined)</li>
</ul>
<br/>
NOTE2: From jsrsasign 10.6.0, member "dncanon" and "dnhex" supported
in the "option" argument.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM("-----BEGIN CERTIFICATE...");
x.getParam() &rarr;
{version:3,
 serial:{hex:"12ab"},
 sigalg:"SHA256withRSA",
 issuer: {array:[[{type:'CN',value:'CA1',ds:'prn'}]],str:"/O=CA1"},
 notbefore:"160403023700Z",
 notafter:"160702023700Z",
 subject: {array:[[{type:'CN',value:'Test1',ds:'prn'}]],str:"/CN=Test1"},
 sbjpubkey:"-----BEGIN PUBLIC KEY...",
 ext:[
  {extname:"keyUsage",critical:true,names:["digitalSignature"]},
  {extname:"basicConstraints",critical:true},
  {extname:"subjectKeyIdentifier",kid:{hex:"f2eb..."}},
  {extname:"authorityKeyIdentifier",kid:{hex:"12ab..."}},
  {extname:"authorityInfoAccess",array:[{ocsp:"http://ocsp.example.com/"}]},
  {extname:"certificatePolicies",array:[{policyoid:"2.23.140.1.2.1"}]}
 ],
 sighex:"0b76...8"
};

x.getParam({tbshex: true}) &rarr; { ... , tbshex: "30..." }
x.getParam({nodnarray: true}) &rarr; {issuer: {str: "/C=JP"}, ...}
x.getParam({dncanon: true}) &rarr; {... {issuer: {canon: "/c=jp/o=..."} ...} ...}
x.getParam({dnhex: true}) &rarr; {... {issuer: {hex: "30..."} ...} ...}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>option</b>
									
								</dt>
								<dd>optional setting for return object</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of certificate parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/KJUR.asn1.x509.X509Util.html#.newCertPEM">KJUR.asn1.x509.X509Util.newCertPEM</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getPolicyInformation"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getPolicyInformation</b>(h)
					
					</div>
					<div class="description">
						get PolicyInformation ASN.1 structure parameter as JSON object
This method will get PolicyInformation parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
RFC 5280 4.2.1.4</a>.
<pre>
PolicyInformation ::= SEQUENCE {
     policyIdentifier   CertPolicyId,
     policyQualifiers   SEQUENCE SIZE (1..MAX) OF
                             PolicyQualifierInfo OPTIONAL }
</pre>
Result of this method can be passed to
<a href="../symbols/KJUR.asn1.x509.PolicyInformation.html">KJUR.asn1.x509.PolicyInformation</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getPolicyInformation("30...") &rarr;
{
    policyoid: "2.16.840.1.114412.2.1",
    array: [{cps: "https://www.digicert.com/CPS"}]
}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of PolicyInformation</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of PolicyInformation parameters</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getPolicyQualifierInfo"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getPolicyQualifierInfo</b>(h)
					
					</div>
					<div class="description">
						get PolicyQualifierInfo ASN.1 structure parameter as JSON object
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
PolicyQualifierInfo</a> parameters.
<pre>
PolicyQualifierInfo ::= SEQUENCE {
     policyQualifierId  PolicyQualifierId,
     qualifier          ANY DEFINED BY policyQualifierId }
id-qt          OBJECT IDENTIFIER ::=  { id-pkix 2 }
id-qt-cps      OBJECT IDENTIFIER ::=  { id-qt 1 }
id-qt-unotice  OBJECT IDENTIFIER ::=  { id-qt 2 }
PolicyQualifierId ::= OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
Qualifier ::= CHOICE {
     cPSuri           CPSuri,
     userNotice       UserNotice }
CPSuri ::= IA5String
</pre>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.PolicyQualifierInfo.html">KJUR.asn1.x509.PolicyQualifierInfo</a> constructor.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getPolicyQualifierInfo("30...") 
&rarr; {unotice: {exptext: {type: 'utf8', str: 'aaa'}}}
x.getPolicyQualifierInfo("30...") 
&rarr; {cps: "https://repository.example.com/"}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of PolicyQualifierInfo</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of PolicyQualifierInfo parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtCertificatePolicies">X509#getExtCertificatePolicies</a></dd>
							
								<dd><a href="../symbols/X509.html#getPolicyInformation">X509#getPolicyInformation</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getPublicKey"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getPublicKey</b>()
					
					</div>
					<div class="description">
						get a RSAKey/ECDSA/DSA public key object of subjectPublicKeyInfo field.<br/>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM);
pubkey= x.getPublicKey();</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.4 x509 1.1.13</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> RSAKey/ECDSA/DSA public key object of subjectPublicKeyInfo field</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getPublicKeyContentIdx"> </a>
					<div class="fixedFont">
					
					<span class="light">{Integer}</span>
					<b>getPublicKeyContentIdx</b>()
					
					</div>
					<div class="description">
						get a string index of contents of subjectPublicKeyInfo BITSTRING value from hexadecimal certificate<br/>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM);
idx = x.getPublicKeyContentIdx(); // return string index in x.hex parameter</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 8.0.0 x509 1.2.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Integer}</span> string index of key contents</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getPublicKeyFromCertHex"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">X509.</span><b>getPublicKeyFromCertHex</b>(h)
					
					</div>
					<div class="description">
						get RSA/DSA/ECDSA public key object from X.509 certificate hexadecimal string<br/>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of X.509 certificate for RSA/ECDSA/DSA public key</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrasign 7.1.0 x509 1.1.11</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>returns RSAKey/KJUR.crypto.{ECDSA,DSA} object of public key</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getPublicKeyFromCertPEM"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">X509.</span><b>getPublicKeyFromCertPEM</b>(sCertPEM)
					
					</div>
					<div class="description">
						get RSA/DSA/ECDSA public key object from PEM certificate string
NOTE: DSA is also supported since x509 1.1.2.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>sCertPEM</b>
									
								</dt>
								<dd>PEM formatted RSA/ECDSA/DSA X.509 certificate</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>x509 1.1.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>returns RSAKey/KJUR.crypto.{ECDSA,DSA} object of public key</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getPublicKeyHex"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getPublicKeyHex</b>()
					
					</div>
					<div class="description">
						get a hexadecimal string of subjectPublicKeyInfo field.<br/>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
hSPKI = x.getPublicKeyHex(); // return string like "30820122..."</pre>
					
					
					
						
						
							<dl class="detailList">
							<dt class="heading">Deprecated:</dt>
							<dt>
								since jsrsasign 10.5.7 x509 2.0.13. Please use <a href="../symbols/X509.html#getSPKI">X509#getSPKI</a> instead.
							</dt>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.4 x509 1.1.13</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> ASN.1 SEQUENCE hexadecimal string of subjectPublicKeyInfo field</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getPublicKeyIdx"> </a>
					<div class="fixedFont">
					
					<span class="light">{Number}</span>
					<b>getPublicKeyIdx</b>()
					
					</div>
					<div class="description">
						get a string index of subjectPublicKeyInfo field for hexadecimal string certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM);
idx = x.getPublicKeyIdx(); // return string index in x.hex parameter</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.4 x509 1.1.13</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> string index of subjectPublicKeyInfo field for hexadecimal string certificate.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getPublicKeyInfoPropOfCertPEM"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Hash}</span>
					<span class="light">X509.</span><b>getPublicKeyInfoPropOfCertPEM</b>(sCertPEM)
					
					</div>
					<div class="description">
						get public key information from PEM certificate
Resulted associative array has following properties:<br/>
<ul>
<li>algoid - hexadecimal string of OID of asymmetric key algorithm</li>
<li>algparam - hexadecimal string of OID of ECC curve name or null</li>
<li>keyhex - hexadecimal string of key in the certificate</li>
</ul>
NOTE: X509v1 certificate is also supported since x509.js 1.1.9.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>sCertPEM</b>
									
								</dt>
								<dd>string of PEM formatted certificate</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>x509 1.1.1</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Hash}</span> hash of information for public key</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getRDN"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getRDN</b>(h)
					
					</div>
					<div class="description">
						get RelativeDistinguishedName ASN.1 structure parameter array<br/>
This method will get RelativeDistinguishedName parameters defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.
<pre>
RelativeDistinguishedName ::=
  SET SIZE (1..MAX) OF AttributeTypeAndValue
</pre>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getRDN("31...") &rarr;
[{type:"C",value:"US",ds:"prn"}] or
[{type:"O",value:"Sample Corp.",ds:"prn"}] or
[{type:"CN",value:"john.smith@example.com",ds:"ia5"}]</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of RDN</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> array of AttrTypeAndValue parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500Name">X509#getX500Name</a></dd>
							
								<dd><a href="../symbols/X509.html#getRDN">X509#getRDN</a></dd>
							
								<dd><a href="../symbols/X509.html#getAttrTypeAndValue">X509#getAttrTypeAndValue</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getSerialNumberHex"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getSerialNumberHex</b>()
					
					</div>
					<div class="description">
						get hexadecimal string of serialNumber field of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var sn = x.getSerialNumberHex(); // return string like "01ad..."</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecimal string of certificate serial number</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getSignatureAlgorithmField"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getSignatureAlgorithmField</b>()
					
					</div>
					<div class="description">
						get signature algorithm name in basic field
This method will get a name of signature algorithm in 
basic field of certificate.
<br/>
NOTE: From jsrsasign 8.0.21, RSA-PSS certificate is also supported.
For supported RSA-PSS algorithm name and PSS parameters,
see <a href="../symbols/X509.html#getSignatureAlgorithmField">X509#getSignatureAlgorithmField</a>.
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
algName = x.getSignatureAlgorithmField();</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>x509 1.1.8</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> signature algorithm name (ex. SHA1withRSA, SHA256withECDSA, SHA512withRSAandMGF1)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getAlgorithmIdentifierName">X509#getAlgorithmIdentifierName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getSignatureAlgorithmName"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getSignatureAlgorithmName</b>()
					
					</div>
					<div class="description">
						get signature algorithm name from hexadecimal certificate data
This method will get signature algorithm name of certificate:
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
x.getSignatureAlgorithmName() &rarr; "SHA256withRSA"</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> signature algorithm name (ex. SHA1withRSA, SHA256withECDSA)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getAlgorithmIdentifierName">X509#getAlgorithmIdentifierName</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getSignatureValueHex"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getSignatureValueHex</b>()
					
					</div>
					<div class="description">
						get signature value as hexadecimal string<br/>
This method will get signature value of certificate:
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
x.getSignatureValueHex() &rarr "8a4c47913..."</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> signature value hexadecimal string without BitString unused bits</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getSPKI"> </a>
					<div class="fixedFont">
					
					<span class="light">{string}</span>
					<b>getSPKI</b>()
					
					</div>
					<div class="description">
						get ASN.1 TLV hexadecimal string of subjectPublicKeyInfo field.<br/>
Get a hexadecimal string of SubjectPublicKeyInfo ASN.1 TLV of the certificate.<br/>
<pre>
SubjectPublicKeyInfo  ::=  SEQUENCE  {
   algorithm         AlgorithmIdentifier,
   subjectPublicKey  BIT STRING  }
</pre>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
hSPKI = x.getSPKI(); // return string like "30820122..."</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.5.8 x509 2.0.13</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{string}</span> ASN.1 SEQUENCE hexadecimal string of subjectPublicKeyInfo field</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getPublicKeyHex">X509#getPublicKeyHex</a></dd>
							
								<dd><a href="../symbols/X509.html#getSPKIValue">X509#getSPKIValue</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getSPKIValue"> </a>
					<div class="fixedFont">
					
					<span class="light">{string}</span>
					<b>getSPKIValue</b>()
					
					</div>
					<div class="description">
						get hexadecimal string of subjectPublicKey of subjectPublicKeyInfo field.<br/>
Get a hexadecimal string of subjectPublicKey ASN.1 value of SubjectPublicKeyInfo 
of the certificate without unusedbit "00".
The "subjectPublicKey" is encapsulated by BIT STRING.
This method returns BIT STRING value without unusedbits.
<br/>
<pre>
SubjectPublicKeyInfo  ::=  SEQUENCE  {
   algorithm         AlgorithmIdentifier,
   subjectPublicKey  BIT STRING  }
</pre>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509(sCertPEM);
hSPKIValue = x.getSPKIValue(); // without BIT STRING Encapusulation.</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.5.8 x509 2.0.13</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{string}</span> ASN.1 hexadecimal string of subjectPublicKey</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getSPKI">X509#getSPKI</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getSubject"> </a>
					<div class="fixedFont">
					
					<span class="light">{object}</span>
					<b>getSubject</b>(flagCanon, flagHex)
					
					</div>
					<div class="description">
						get JSON object of subject field<br/>
Get a JSON object of a subject field.
<br>
NOTE: From jsrsasign 10.6.0, flagHex and flagCanon has been 
supported to conclude a canonicalized name for caseIgnoreMatch
desribed in <a href="https://tools.ietf.org/html/rfc4518">
RFC 4518</a>.
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509(sCertPEM);
x.getSubject() &rarr;
{ array: [[{type:'C',value:'JP',ds:'prn'}],...],
  str: "/C=JP/..." }

// with flags
x.getSubject(true, true) &rarr;
{ array: ...,
  str: "/C=JP/O=   Test    123   ",
  canon: "/c=jp/o=test 123",
  hex: "30..." }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>flagCanon</b>
									
								</dt>
								<dd>flag to conclude canonicalized name (DEFAULT false)</dd>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>flagHex</b>
									
								</dt>
								<dd>flag to conclude hexadecimal string (DEFAULT false)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{object}</span> JSON object of subject field</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500Name">X509#getX500Name</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getSubjectHex"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getSubjectHex</b>()
					
					</div>
					<div class="description">
						get hexadecimal string of subject field of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var subject = x.getSubjectHex(); // return string like "3013..."</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> hexadecial string of subject DN ASN.1</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getSubjectString"> </a>
					<div class="fixedFont">
					
					<span class="light">{String}</span>
					<b>getSubjectString</b>()
					
					</div>
					<div class="description">
						get string of subject field of certificate.<br/>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
var dn1 = x.getSubjectString(); // return string like "/C=US/O=TEST"
var dn2 = KJUR.asn1.x509.X500Name.compatToLDAP(dn1); // returns "O=TEST, C=US"</pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> subject DN string</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getSubject">X509#getSubject</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getUserNotice"> </a>
					<div class="fixedFont">
					
					<span class="light">{Object}</span>
					<b>getUserNotice</b>(h)
					
					</div>
					<div class="description">
						get UserNotice ASN.1 structure parameter as JSON object
This method will get 
<a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.4">
UserNotice</a> parameters.
<pre>
UserNotice ::= SEQUENCE {
     noticeRef        NoticeReference OPTIONAL,
     explicitText     DisplayText OPTIONAL }
NoticeReference ::= SEQUENCE {
     organization     DisplayText,
     noticeNumbers    SEQUENCE OF INTEGER }
</pre>
Result of this method can be passed to 
<a href="../symbols/KJUR.asn1.x509.UserNotice.html">KJUR.asn1.x509.UserNotice</a> constructor.
<br/>
NOTE: NoticeReference supported from jsrsasign 10.8.0.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getUserNotice("30...") &rarr; { 
  noticeref: {
    org: {type: 'utf8', str: 'test org'},
    noticenum: [1]
  },
  exptext: {type: 'utf8', str: 'test text'}
}</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of UserNotice</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> JSON object of UserNotice parameters</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getExtCertificatePolicies">X509#getExtCertificatePolicies</a></dd>
							
								<dd><a href="../symbols/X509.html#getPolicyInformation">X509#getPolicyInformation</a></dd>
							
								<dd><a href="../symbols/X509.html#getPolicyQualifierInfo">X509#getPolicyQualifierInfo</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.UserNotice.html">KJUR.asn1.x509.UserNotice</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getVersion"> </a>
					<div class="fixedFont">
					
					<span class="light">{Number}</span>
					<b>getVersion</b>()
					
					</div>
					<div class="description">
						get format version (X.509v1 or v3 certificate)<br/>
This method returns a format version of X.509 certificate.
It returns 1 for X.509v1 certificate and 3 for v3 certificate.
Otherwise returns 0.
This method will be automatically called in
<a href="../symbols/X509.html#readCertPEM">X509#readCertPEM</a>. After then, you can use
X509.version parameter.
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
x.readCertPEM(sCertPEM);
version = x.getVersion();    // 1 or 3
sn = x.getSerialNumberHex(); // return string like "01ad..."</pre>
					
					
					
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.14 x509 1.1.13</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> 1 for X509v1, 3 for X509v3, otherwise 0</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getX500Name"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getX500Name</b>(h, flagCanon, flagHex)
					
					</div>
					<div class="description">
						get Name ASN.1 structure parameter array<br/>
This method will get Name parameter defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.
<pre>
Name ::= CHOICE { -- only one possibility for now --
  rdnSequence  RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
</pre>
<br>
NOTE: From jsrsasign 10.6.0, flagHex and flagCanon has been 
supported to conclude a canonicalized name for caseIgnoreMatch
desribed in <a href="https://tools.ietf.org/html/rfc4518">
RFC 4518</a>.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getX500Name("30...") &rarr;
{ array: [
    [{type:"C",value:"US",ds:"prn"}],
    [{type:"O",value:"Sample Corp.",ds:"utf8"}],
    [{type:"CN",value:"john.smith@example.com",ds:"ia5"}]
  ],
  str: "/C=US/O=Sample Corp./CN=john.smith@example.com",
  hex: "30..." }

x.getX500Name("30...", true) &rarr;
{ array: [
    [{type:"C",value:"US",ds:"prn"}],
    [{type:"O",value:"Sample    Corp.",ds:"utf8"}]
  ],
  str: "/C=US/O=Sample    Corp.",
  canon: "/c=us/o=sample corp.",
  hex: "30..." }</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of Name</dd>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>flagCanon</b>
									
								</dt>
								<dd>flag to conclude canonicalized name (DEFAULT false)</dd>
							
								<dt>
									<span class="light fixedFont">{boolean}</span> <b>flagHex</b>
									
								</dt>
								<dd>flag to conclude hexadecimal string (DEFAULT false)</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 9.0.0 x509 2.0.0</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> array of RDN parameter array</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500NameArray">X509#getX500NameArray</a></dd>
							
								<dd><a href="../symbols/X509.html#getRDN">X509#getRDN</a></dd>
							
								<dd><a href="../symbols/X509.html#getAttrTypeAndValue">X509#getAttrTypeAndValue</a></dd>
							
								<dd><a href="../symbols/X509.html#c14nRDNArray">X509#c14nRDNArray</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.X500Name.html">KJUR.asn1.x509.X500Name</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="getX500NameArray"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array}</span>
					<b>getX500NameArray</b>(h)
					
					</div>
					<div class="description">
						get X.500 Name ASN.1 structure parameter array<br/>
This method will get Name parameter defined in
<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.4">
RFC 5280 4.1.2.4</a>.
<pre>
Name ::= CHOICE { -- only one possibility for now --
  rdnSequence  RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
</pre>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.getX500NameArray("30...") &rarr;
[[{type:"C",value:"US",ds:"prn"}],
 [{type:"O",value:"Sample Corp.",ds:"utf8"}],
 [{type:"CN",value:"john.smith@example.com",ds:"ia5"}]]</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>h</b>
									
								</dt>
								<dd>hexadecimal string of Name</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.6 x509 2.0.9</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> array of RDN parameter array</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#getX500Name">X509#getX500Name</a></dd>
							
								<dd><a href="../symbols/X509.html#getRDN">X509#getRDN</a></dd>
							
								<dd><a href="../symbols/X509.html#getAttrTypeAndValue">X509#getAttrTypeAndValue</a></dd>
							
							</dl>
						

					<hr />
				
					<a name=".hex2attrTypeValue"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">X509.</span><b>hex2attrTypeValue</b>(hex, idx)
					
					</div>
					<div class="description">
						get string from hexadecimal string of ASN.1 DER AttributeTypeAndValue<br/>
This static method converts from a hexadecimal string of AttributeTypeAndValue
specified by 'hex' and 'idx' to LDAP string representation (ex. C=US).
						
						
					</div>
					
					
					
					<pre class="code">X509.hex2attrTypeValue("3008060355040a0c0161") &rarr; O=a
X509.hex2attrTypeValue("300806035504060c0161") &rarr; C=a
X509.hex2attrTypeValue("...3008060355040a0c0161...", 128) &rarr; O=a</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hex</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER concludes AttributeTypeAndValue</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>idx</b>
									
								</dt>
								<dd>index of hexadecimal string (DEFAULT=0)</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> string representation of AttributeTypeAndValue (ex. C=US)</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".hex2dn"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">X509.</span><b>hex2dn</b>(hex, idx)
					
					</div>
					<div class="description">
						get distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER X.500 name<br/>
This static method converts from a hexadecimal string of 
distinguished name (DN)
specified by 'hex' and 'idx' to OpenSSL oneline string representation (ex. /C=US/O=a).
						
						
					</div>
					
					
					
					<pre class="code">X509.hex2dn("3031310b3...") &rarr; /C=US/O=a/CN=b2+OU=b1</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hex</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER distinguished name</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>idx</b>
									
								</dt>
								<dd>index of hexadecimal string (DEFAULT=0)</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> OpenSSL online format distinguished name</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".hex2rdn"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">X509.</span><b>hex2rdn</b>(hex, idx)
					
					</div>
					<div class="description">
						get relative distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER RDN<br/>
This static method converts from a hexadecimal string of 
relative distinguished name (RDN)
specified by 'hex' and 'idx' to LDAP string representation (ex. O=test+CN=test).<br/>
NOTE: Multi-valued RDN is supported since jsnrsasign 6.2.2 x509 1.1.10.
						
						
					</div>
					
					
					
					<pre class="code">X509.hex2rdn("310a3008060355040a0c0161") &rarr; O=a
X509.hex2rdn("31143008060355040a0c01613008060355040a0c0162") &rarr; O=a+O=b</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hex</b>
									
								</dt>
								<dd>hexadecimal string of ASN.1 DER concludes relative distinguished name</dd>
							
								<dt>
									<span class="light fixedFont">{Integer}</span> <b>idx</b>
									
								</dt>
								<dd>index of hexadecimal string (DEFAULT=0)</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> OpenSSL online format relative distinguished name</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="parseExt"> </a>
					<div class="fixedFont">
					
					
					<b>parseExt</b>(hCSR)
					
					</div>
					<div class="description">
						set array of X.509v3 and CSR extesion information such as extension OID, criticality and value index. (DEPRECATED)<br/>
This method will set an array of X.509v3 extension information having 
following parameters:
<ul>
<li>oid - extension OID (ex. 2.5.29.19)</li>
<li>critical - true or false</li>
<li>vidx - string index for extension value</li>
<br/>
When you want to parse extensionRequest of CSR,
argument 'hCSR' shall be specified.
<br/>
NOTE: CSR is supported from jsrsasign 8.0.20 x509 1.1.22.
<br/>
This method and X509.aExtInfo property
have been *deprecated* since jsrsasign 9.1.1.
All extension parser method such as X509.getExt* shall be
call with argument "hExtV" and "critical" explicitly.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // parseExt() will also be called internally.

x.aExtInfo &rarr;
[ { oid: "2.5.29,19", critical: true, vidx: 2504 }, ... ]

// to parse CSR
X = new X509()
x.parseExt("-----BEGIN CERTIFICATE REQUEST-----...");
x.aExtInfo &rarr;
[ { oid: "2.5.29,19", critical: true, vidx: 2504 }, ... ]</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>hCSR</b>
									
								</dt>
								<dd>- PEM string of certificate signing requrest(CSR) (OPTION)</dd>
							
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Deprecated:</dt>
							<dt>
								jsrsasign 9.1.1 x509 2.0.1
							</dt>
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
						
						

					<hr />
				
					<a name="readCertHex"> </a>
					<div class="fixedFont">
					
					
					<b>readCertHex</b>(sCertHex)
					
					</div>
					<div class="description">
						read a hexadecimal string of X.509 certificate<br/>
NOTE: <a href="../symbols/X509.html#parseExt">X509#parseExt</a> will called internally since jsrsasign 7.2.0.
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertHex("3082..."); // read certificate</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>sCertHex</b>
									
								</dt>
								<dd>hexadecimal string of X.509 certificate</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.1.4 x509 1.1.13</dd>
							</dl>
							</dl>
						
						
						
						
						

					<hr />
				
					<a name="readCertPEM"> </a>
					<div class="fixedFont">
					
					
					<b>readCertPEM</b>(sCertPEM)
					
					</div>
					<div class="description">
						read PEM formatted X.509 certificate from string.<br/>
						
						
					</div>
					
					
					
					<pre class="code">x = new X509();
x.readCertPEM(sCertPEM); // read certificate</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>sCertPEM</b>
									
								</dt>
								<dd>string for PEM formatted X.509 certificate</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name=".registExtParser"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">X509.</span><b>registExtParser</b>(oid, func)
					
					</div>
					<div class="description">
						define X.509 extension parser for specified OID<br/>
<p>
This static method specifies a X.509 extension value parsing function
for specified an extension OID.
</p>
<p>
Extension parser function must have following three arguments:
<ul>
<li>{string} oid - OID for extension (ex. "1.2.3.4")</li>
<li>{boolean} critical - critical flag of extension</li>
<li>{string} hExtV - hexadecimal string of extension value</li>
</ul>
The funcition must return an associative array for the extension
when hExtV can be parsed properly. Otherwise it must return
value "undefined".
</p>
						
						
					</div>
					
					
					
					<pre class="code">function _extparser1(oid, critical, hExtV) {
  try {
    var result = { extname: oid, value: ASN1HEX.parse(hExtV).utf8str.str };
    if (critical) result.critical = true;
    return result;
  } catch(ex) {
    return undefined;
  }
}
X509.registExtParser("1.2.3.4", _extparser1);</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{string}</span> <b>oid</b>
									
								</dt>
								<dd>extension OID string (ex. "1.2.3.4")</dd>
							
								<dt>
									<span class="light fixedFont">{function}</span> <b>func</b>
									
								</dt>
								<dd>registering func extension value parsing function</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.7.0 x509 2.1.2</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>unspecified</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="setCanonicalizedDN"> </a>
					<div class="fixedFont">
					
					
					<b>setCanonicalizedDN</b>(pDN)
					
					</div>
					<div class="description">
						set canonicalized DN to a DN parameter<br/>
This method canonicalizes a DN string as following:
<ul>
<li>convert to lower case</li>
<li>convert from all multiple spaces to a space</li>
</ul>
						
						
					</div>
					
					
					
					<pre class="code">var x = new X509();
var pDN = {
  array: [
    [{type:'C',value:'JP',ds:'prn'}],
    [{type:'O',value:'Test    1',ds:'prn'}] ],
  str: "/C=JP/O=Test    1" };
x.setCanonicalizedDN(pDN);
// pDN will become following
pDN = {
  array: [
    [{type:'C',value:'JP',ds:'prn'}],
    [{type:'O',value:'Test    1',ds:'prn'}] ],
  str: "/C=JP/O=Test    1",
  canon: "/c=jp/o=test 1" };</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{object}</span> <b>pDN</b>
									
								</dt>
								<dd>DN parameter associative array</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.6.0 x509 2.1.0</dd>
							</dl>
							</dl>
						
						
						
						
						

					<hr />
				
					<a name="updateAIACAIssuer"> </a>
					<div class="fixedFont">
					
					
					<b>updateAIACAIssuer</b>(aExt, newURI)
					
					</div>
					<div class="description">
						update authorityInfoAccess caIssuer in parameter<br/>
This method updates "caIssuer" accessMethod URI of 
AuthorityInfoAccess extension
in the extension parameter array if it exists.
						
						
					</div>
					
					
					
					<pre class="code">aExt = [
  {extname:"authorityKeyIdentifier",kid:{hex:"12ab..."}},
  {extname:"authoriyInfoAccess",
   array:[
     {ocsp: "http://ocsp1.example.com"},
     {caissuer: "http://example.com/a.crt"}
   ]}
];
x = new X509();
x.updateAIACAIssuer(aExt, "http://example.net/b.crt");</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>aExt</b>
									
								</dt>
								<dd>array of extension parameters</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>newURI</b>
									
								</dt>
								<dd>string of new uri</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.4 x509 2.0.8</dd>
							</dl>
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#findExt">X509#findExt</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="updateAIAOCSP"> </a>
					<div class="fixedFont">
					
					
					<b>updateAIAOCSP</b>(aExt, newURI)
					
					</div>
					<div class="description">
						update authorityInfoAccess ocsp in parameter<br/>
This method updates "ocsp" accessMethod URI of 
AuthorityInfoAccess extension
in the extension parameter array if it exists.
						
						
					</div>
					
					
					
					<pre class="code">aExt = [
  {extname:"authorityKeyIdentifier",kid:{hex:"12ab..."}},
  {extname:"authoriyInfoAccess",
   array:[
     {ocsp: "http://ocsp1.example.com"},
     {caissuer: "http://example.com/a.crt"}
   ]}
];
x = new X509();
x.updateAIAOCSP(aExt, "http://ocsp2.example.net");</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>aExt</b>
									
								</dt>
								<dd>array of extension parameters</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>newURI</b>
									
								</dt>
								<dd>string of new uri</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.4 x509 2.0.8</dd>
							</dl>
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#findExt">X509#findExt</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="updateCDPFullURI"> </a>
					<div class="fixedFont">
					
					
					<b>updateCDPFullURI</b>(aExt, newURI)
					
					</div>
					<div class="description">
						update CRLDistributionPoints Full URI in parameter<br/>
This method updates Full URI of CRLDistributionPoints extension
in the extension parameter array if it exists.
						
						
					</div>
					
					
					
					<pre class="code">aExt = [
  {extname:"authorityKeyIdentifier",kid:{hex:"12ab..."}},
  {extname:"cRLDistributionPoints",
   array:[{dpname:{full:[{uri:"http://example.com/a.crl"}]}}]},
];
x = new X509();
x.updateCDPFullURI(aExt, "http://crl2.example.new/b.crl");</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>aExt</b>
									
								</dt>
								<dd>array of extension parameters</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>newURI</b>
									
								</dt>
								<dd>string of new uri</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 10.0.4 x509 2.0.8</dd>
							</dl>
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/X509.html#findExt">X509#findExt</a></dd>
							
								<dd><a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a></dd>
							
							</dl>
						

					<hr />
				
					<a name="verifySignature"> </a>
					<div class="fixedFont">
					
					<span class="light">{Boolean}</span>
					<b>verifySignature</b>(pubKey)
					
					</div>
					<div class="description">
						verifies signature value by public key<br/>
This method verifies signature value of hexadecimal string of 
X.509 certificate by specified public key object.
The signature algorithm used to verify will refer
signatureAlgorithm field. (See <a href="../symbols/X509.html#getSignatureAlgorithmField">X509#getSignatureAlgorithmField</a>)
RSA-PSS signature algorithms (SHA{,256,384,512}withRSAandMGF1)
are available.
						
						
					</div>
					
					
					
					<pre class="code">pubKey = KEYUTIL.getKey(pemPublicKey); // or certificate
x = new X509();
x.readCertPEM(pemCert);
x.verifySignature(pubKey) &rarr; true, false or raising exception</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>pubKey</b>
									
								</dt>
								<dd>public key object</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Since:</dt>
								<dd>jsrsasign 7.2.0 x509 1.1.14</dd>
							</dl>
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Boolean}</span> true if signature value is valid otherwise false</dd>
							
							</dl>
						
						
						

					
				
			
			
<!-- ============================== event details ========================= -->		
			
			
			<hr />
		</div>

		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
                        &copy; 2012-2023 Kenji Urushima, All rights reserved<br/>
			
			Documentation generated by <a href="https://code.google.com/archive/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 
		</div>
	</body>
</html>
